[原创]ASP.NET操作MYSQL数据库详解
[原创]ASP.NET操作MYSQL数据库详解 |
作者/七彩的童话 时间/2006-4-4 11:21:00 类别/ASP.NET 查看/1350 |
发表评论 以论坛方式查看 |
标签:ASP.NET操作MYSQL |
以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中新加一个连接字符串 <add key="MysqlConnStr" value="server=127.0.0.1;database=test;uid=test;pwd=test;charset=gb2312" /> 注意一定要设计字符编码charset=gb2312,不然显示中文有可能会出现乱码 在TEST的数据库中添加一个TEST用户,密码TEST,注意IP限制要设置,这里为了方便我设置成允许所有主机连接 4.先建一个页TEST.ASPX页面,加入一个Repeater控件,命名为ListRepeater,页面部分代码如下: <asp:Repeater ID="ListRepeater" runat="server"> <ItemTemplate> <tr> <td align="left"><img src="http://bbs.xxx.com/images/default/firstnew.gif" alt="" /></td> <td align="left"><a href="http://bbs.xxx.com/viewthread.php?tid=<%# DataBinder.Eval(Container.DataItem,"tid")%>" target="_blank"><%# Convert.ToString(DataBinder.Eval(Container.DataItem, "subject"))%></a></td> <td align="left"><%# getunixdate(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "lastpost")))%></td> </tr> </ItemTemplate> </asp:Repeater> </table> 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的基本相同 |