C#连接Mysql数据库


一. ADO.NET访问方式

程序集:Mysql.Data.dll

导入包:using MySql.Data.MySqlClient;

下载:http://dev.mysql.com/downloads/connector/net/ 

说明:这是MySql为 ADO.NET推出的 访问 Mysql数据库的.net组件

访问方式:ADO.NET访问方式,参考 MSDN MSDN ado.net


eg.

数据库:



代码

using MySql.Data.MySqlClient;//引入包
 //form_load事件
 private void Form1_Load(object sender, EventArgs e)
 {
 string connStr = "Server=localhost;Database=stu;Uid=root;Pwd=123456";
            MySqlConnection mySqlConn = new MySqlConnection(connStr);
            if (mySqlConn.State == ConnectionState.Open)
            {
                mySqlConn.Close();
            }
            mySqlConn.Open();
            string sql = @"select *from user where name='张三'";
            MySqlCommand cmd = new MySqlCommand(sql,mySqlConn);
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            mySqlConn.Close();
            MessageBox.Show(ds.Tables[0].Rows[0][1].ToString());
}

结果

结果:


二.ODBC的方式

程序集:安装odbc驱动后就无需添加引用了

下载:1. mysql-odbc-connector  http://dev.mysql.com/downloads/connector/odbc/

            2.odbc驱动程序,这个与哪个数据库无关,只要使用odbc数据源就必须使用,下载地址:MSDN 

说明:通过ODBC数据源的方式访问mysql数据库,需要首先创建odbc 的dsn 。方法:点击 控制面板\所有控制面板项\管理工具  数据源(ODBC 数据源) 创建DSN 

导入包:using System.Data.Odbc;

数据库:同上

代码:


private void Form1_Load(object sender, EventArgs e)
{
//ODBC 方式
            string connStr = @"Driver={MySQL ODBC 5.3 UNICODE Driver};Server=localhost;Database=stu;
            User=root;Password=123456;Option=3";
            OdbcConnection conn = new OdbcConnection(connStr);
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
            conn.Open();
            string str = "select *from user where name='李四'";
            OdbcCommand cmd = new OdbcCommand(str, conn);
            OdbcDataAdapter da = new OdbcDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            MessageBox.Show(ds.Tables[0].Rows[0][1].ToString());
}

结果:



三. MySqlDriverCS(用法不是很广泛)

程序集:MySQLDriver.dll

导入包:usingMySQLDriverCS

下载: sourceforge上有下载。

代码和上述写法差不多,前缀也是MySql。但是连接字符串不一样


四.等等,比如CoreLab 推出的面向.net的mysql访问组件,使用时引入CoreLab.MySql.dll

五. 总结

1.c#中访问Mysql数据库方法很多,虽然导入的dll不同,导入的包不同,但是程序中代码写法都差不多。这是.net 框架的共同性,MySql数据库换成其他的数据库,程序中访问方法也只是换下前缀。

2.比较这几种写法,ODBC安装dll,配置DSN麻烦些,但是程序迁移性要好点。换个数据库,更改DSN配置就可以。代码基本可以保持不变。

3.各种访问方法性能上的差异没有比较过,尚不清楚。

4.各种访问方法或者不同数据库的 连接字符串写法不同,算是比较大的差异。建议参看 connectionstrings http://www.connectionstrings.com/ 各种连接字符串都有




发布了168 篇原创文章 · 获赞 333 · 访问量 50万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览