以DISCUZ论坛为例,读取每个分论坛前十条帖子
1.http://dev.mysql.com/downloads/connector/net/1.0.html进入MYSQL官方站这里下载MySQL Connector/Net,有两个下载项,第一个是MSI安装文件,第二个是ZIP,建议下载第一个,下载完后解压缩,安装。
2.打开VS,选择或新建项目,网站或资源管理器-添加引用,找到MySQL Connector/Net的安装目录,会看见有几个文件夹分别为DONET不同版本设计的组件,我用的是2.0,所以引用2.0里面的那个DLL。
3.在WEBCONFIG中新加一个连接字符串
注意一定要设计字符编码charset=gb2312,不然显示中文有可能会出现乱码
在TEST的数据库中添加一个TEST用户,密码TEST,注意IP限制要设置,这里为了方便我设置成允许所有主机连接
4.先建一个页TEST.ASPX页面,加入一个Repeater控件,命名为ListRepeater,页面部分代码如下:
" target="_blank">5.test.aspx.cs代码
using System;
using System.Data;
using System.Data.SqlClient;
//引用MySql.Data.MySqlClient的命名空间
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class INC_bbslist : System.Web.UI.UserControl
{
public string bbslist;
protected void Page_Load(object sender, EventArgs e)
{
if (Request["fid"] != null && Request["fid"] != "")
{
string readMysql = "select * from cdb_threads where fid=" + Convert.ToInt32(Request["fid"]) + " and displayorder>=0 order by lastpost desc limit 0,10 "; //连接字符串
using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.AppSettings["MysqlConnStr"]))//通过webconfig连接数据库
{
MySqlCommand cmd = new MySqlCommand(readMysql,conn);
conn.Open();
MySqlDataReader dr = cmd.ExecuteReader();
ListRepeater.DataSource = dr;//绑定
ListRepeater.DataBind();
dr.Close();
}
}
}
//格林威治时间转北京时间函数
public string getunixdate(Int32 inTimeSpan)
{
DateTime unixSetTime =Convert.ToDateTime("1970-1-1 00:00:00");
TimeSpan spanTime = new TimeSpan(0, 8, 0, inTimeSpan, 0);
DateTime unixOuttime = unixSetTime.Add(spanTime);
return unixOuttime.ToString();
}
}
大家可以看到使用MYSQL开发的这个组件很容易的操作MYSQL数据库了,语法和ADO.NET的基本相同