ASP.NET連接MySql數(shù)據(jù)庫的2個方法及示例

字號:


    這篇文章主要介紹了ASP.NET連接MySql數(shù)據(jù)庫的2個方法及示例,使用的是MySQL官方組件和ODBC.NET,需要的朋友可以參考下
    方法一: 使用MySQL官方組件
    使用MySQL推出的 MySQL Connector/Net 組件, 該組件是MySQL為ADO.NET訪問MySQL數(shù)據(jù)庫設計的.NET專用訪問組件。完成該組件后,需要在項目中引用這個組件,也可以直接在配置文件的< assemblies>節(jié)點內(nèi)添加下面的節(jié)點:
    代碼如下:<add assembly="MySql.Data, Version=5.1.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
    之后在程序中引用命名空間MySql.Data.MySqlClient,即可開始進行連接MySQL數(shù)據(jù)庫的操作了,示例如下:
    代碼如下:protected void MySqlCon()
    {
    //數(shù)據(jù)庫連接字符串跟連接SQL SERVER沒有區(qū)別
    string constr = "server=localhost;User Id=root;password=root;Database=test";
    //下面使用MySql Connector/net提供的專用對象
    MySqlConnection mycon = new MySqlConnection(constr);
    mycon.Open();
    MySqlCommand mycmd = new MySqlCommand("select * from users", mycon);
    MySqlDataReader myreader = mycmd.ExecuteReader();
    while (myreader.Read())
    {
    if (myreader.HasRows)
    {
    Response.Write(myreader.GetString("email") + "<br/>");
    }
    }
    myreader.Close();
    mycon.Close();
    }
    方法二: 使用ODBC.NET
    一般來說, ODBC.NET 的DataProvider是標準的.NET框架(1.1及以上的版本)的一部分,所以會和后者一起自動安裝好。 一旦確認ODBC.NET安裝完畢,你就需要下載用于MySQL的ODBC驅動程序:MySQL Connector/ODBC ,目前最新版本是3.51。安裝完畢后就可以使用ODBC.NET連接MySQL數(shù)據(jù)庫了,首先需要在程序中引入System.Data.Odbc命名空間,具體的示例如下:
    代碼如下:public void Connect_Odbc()
    {
    //需要事先創(chuàng)建MySQL ODBC DSN.
    string odbcString = "DSN=MySQL;";
    //string odbcString = "DRIVER={MySQL ODBC 3.51 Driver};" +
    // "SERVER=localhost;" +
    // "Port=3306;" + //連接本地數(shù)據(jù)庫時可省略此項設置
    // "DATABASE=test;" +
    // "UID=root;" +
    // "PASSWORD=root;" +
    // "OPTION=3";
    OdbcConnection odbcConn = new OdbcConnection(odbcString);
    odbcConn.Open();
    OdbcCommand odbcCmd = new OdbcCommand("SELECT * FROM users", odbcConn);
    OdbcDataReader myreader = odbcCmd.ExecuteReader();
    while (myreader.Read())
    {
    if (myreader.HasRows)
    {
    Response.Write(myreader.GetString(0) + "<br/>");
    }
    }
    myreader.Close();
    odbcConn.Close();
    }