首页 > 代码库 > 如何用C# 连接MySQL数据库

如何用C# 连接MySQL数据库

我们可以通过两种方式来连接MySQL数据库,先看直联的方式:

方法一:

使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQLADO.NET访问MySQL数据库设计的.NET专用访问组件。完成该组件后,需要在项目中引用这个组件,

 

之后在程序中引用命名空间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                MessageBox.Show(myreader.GetString("email") );

16            }

17        }

18        myreader.Close();

19        mycon.Close();

20

21}

 

 

 

第二中方式是桥联的方式:

使用ODBC.NET。一般来说,ODBC.NETDataProvider是标准的.NET框架(1.1及以上的版本)的一部分,所以会和后者一起自动安装好。一旦确认ODBC.NET安装完毕,你就需要下载用于MySQLODBC驱动程序: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                MessageBox.Show(myreader.GetString(0))003B

23            }

24        }

25        myreader.Close();

26        odbcConn.Close();

27    }

 

通过上面的例子,我们可以看到连接的方法和我们以前学习的ADO.NET一样都是以前是SQLConnection ,现在是MySQLConnection,以前是SQLCommand,现在是MySQlCommand,所以使用的方法特别相似!