smhy8187

 

[原创]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的基本相同

posted on 2007-02-25 15:35  new2008  阅读(1207)  评论(0编辑  收藏  举报

导航