ASP.NET 连接MySQL数据库 详细步骤

时间:2024-02-25 16:41:43

ASP.NET默认的数据库是MS SQL Server,微软的数据库产品。事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网站应用开发的最优搭配。但是,由于这些微软产品都需要收费,因此,在考虑成本因素时,往往在开发环境ASP.NET不变的情况下,其它产品都选择了开源的产品。

MySQL是一个优秀的开源数据库,现在谈谈如何使用ASP.NET连接MySQL数据库(Windows环境下)。

1、安装MySQL数据库系统,截止本文撰写时间,MySQL的版本为5.6.16,可以到官网http://dev.mysql.com/downloads/mysql/访问下载安装,注意安装选择Microsoft Windows平台;

2、引用MySQL connector/Net组件,该组件在安装MySQL安装目录内,比如本人电脑上的目录是:

C:\Program Files (x86)\MySQL\Connector NET 6.7.4\Assemblies\v4.5\MySQL.Data.dll

或者到官网上下载http://dev.mysql.com/downloads/connector/net/最新版本的MySQL connector/Net组件

需要说明的是,如果在正常安装MySQL数据库后,又更新了MySQL Connector/Net组件,则会出现版本不同的问题,这需要将ASP.NET中machine.config里面关于MySQL引用MySQL Connector/Net组件版本的语句注释掉即可;

引用MySQL connector/Net组件的办法是在ASP.NET项目引用中添加地MySQL.Data.dll的引用,如下图所示:

3-1、使用下面的代码完成对数据库的连接:

using MySql.Data.MySqlClient;

namespace ConnectMySql
{
    class Class1
    {
        public MySqlDataReader GetData()
        {
            string connection = "server=localhost;user id=root;password=123456;database=ABC; pooling=true;";
            MySqlConnection conn = new MySqlConnection(connection);
            string sqlQuery = "SELECT * FROM Article";
            MySqlCommand comm = new MySqlCommand(sqlQuery, conn);
            conn.Open();
            MySqlDataReader dr = comm.ExecuteReader();
            conn.Close();
            return dr;
        }
    }
}

代码注意两点:一是使用using MySql.Data.MySqlClient; 二是写好连接字符串connection,当然,这个连接字符串可以不象上面那样写在具体的代码中,而是推荐写在ASP.NET应用的根目录中的配置文件web.config的<connectionStrings>节内,如下:

3-2、在web.config中配置连接字符串完成对MySQL数据库的连接(推荐,替代方法3-1)

 <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Sanlogic.MSTWebsite-20140219093639;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Sanlogic.MSTWebsite-20140219093639.mdf" providerName="System.Data.SqlClient" />

    <add name="DBConnection"   connectionString="server=localhost;user id=root;password=123456;database=ABC; pooling=true;"
           providerName="MySql.Data.MySqlClient" />  
    
  </connectionStrings>

其中DBConnection即是对MySQL的连接,如果是这样的配置连接字符串,可以使用下面的代码将其取出(注意仍然有 using MySql.Data.MySqlClient; 语句):

        public static MySqlConnection CreateConn()
        {
            string _conn = WebConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
            MySqlConnection conn = new MySqlConnection(_conn);
            return conn;
        }

使用这种办法取出连接字符串并建立对数据库的连接,今后的使用直接调用该方法创建对MySQL数据库的连接,并使用ADO.NET完成任务。