.NET连接MySql数据库的方法及示例

来源:互联网 发布:手机淘宝怎么做客服 编辑:程序博客网 时间:2024/05/16 18:58
方法一:
使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件。完成该组件后,需要在项目中引用这个组件,也可以直接在配置文件的<assemblies>节点内添加下面的节点:

<add assembly="MySql.Data, Version=5.1.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>

之后在程序中引用命名空间MySql.Data.MySqlClient,即可开始进行连接MySQL数据库的操作了,示例如下:
 
 1protected void MySqlCon()
 2{
 3        //数据库连接字符串跟连接SQL SERVER没有区别
 4        string constr = "server=localhost;User Id=root;password=root;Database=test";
 5
 6        //下面使用MySql Connector/net提供的专用对象
 7        MySqlConnection mycon = new MySqlConnection(constr);
 8        mycon.Open();
 9        MySqlCommand mycmd = new MySqlCommand("select * from users", mycon);
10        MySqlDataReader myreader = mycmd.ExecuteReader();
11        while (myreader.Read())
12        {
13            if (myreader.HasRows)
14            {
15                Response.Write(myreader.GetString("email"+ "<br/>");
16            }

17        }

18        myreader.Close();
19        mycon.Close();
20
21}

方法二:
使用ODBC.NET。一般来说,ODBC.NET的DataProvider是标准的.NET框架(1.1及以上的版本)的一部分,所以会和后者一起自动安装好。一旦确认ODBC.NET安装完毕,你就需要下载用于MySQL的ODBC驱动程序:MySQL Connector/ODBC,目前最新版本是3.51。安装完毕后就可以使用ODBC.NET连接MySQL数据库了,首先需要在程序中引入System.Data.Odbc命名空间,具体的示例如下:
 1 public void Connect_Odbc()
 2    {
 3        //需要事先创建MySQL ODBC DSN.
 4        string odbcString = "DSN=MySQL;";
 5        
 6        //string odbcString = "DRIVER={MySQL ODBC 3.51 Driver};" +
 7        //                    "SERVER=localhost;" +
 8        //                    "Port=3306;" +  //连接本地数据库时可省略此项设置
 9        //                    "DATABASE=test;" +
10        //                    "UID=root;" +
11        //                    "PASSWORD=root;" +
12        //                    "OPTION=3";
13
14        OdbcConnection odbcConn = new OdbcConnection(odbcString);
15        odbcConn.Open();
16        OdbcCommand odbcCmd = new OdbcCommand("SELECT * FROM users", odbcConn);
17        OdbcDataReader myreader = odbcCmd.ExecuteReader();
18        while (myreader.Read())
19        {
20            if (myreader.HasRows)
21            {                
22                Response.Write(myreader.GetString(0+ "<br/>");
23            }

24        }

25        myreader.Close();
26        odbcConn.Close();
27    }