MySQLDriverCS是MySQL数据库的一个免费开源的.NET驱动程序。和Sql .NET Data Provider是为Sql Server一样,它是专门为MySQL设计的,可以叫做MySQL .NET Data Provider。使用他不需要额外的去设置ODBC数据源,基本上只要能连接到MySQL就能通过MySQLDriverCS来访问。
另外,注意的是,我们数据库基本为中文,为了避免乱码,在执行命令之前先执行如下命令:
MySQLDriverCS是SourceForge.NET上的一个项目,不过不知道什么原因,这个网站在国内访问不到。我介绍以下如何使用MySQLDriverCS:
第一步:
下載
MySQLDriverCS:
http://sourceforge.net/projects/mysqldrivercs
我目前下載的是
MySQLDriverCS-n-EasyQueryTools - Release 4.0.1 Last Update: Jul 12 2007
第二步:
添加MySQLDriverCS.dll引用。Visual Studio 2005->Project->Add Reference..->Browse->到安裝的地方載入"MySQLDriverCS.dll"
(預設:C:\Program Files\MySQLDriverCS\dll)
(預設:C:\Program Files\MySQLDriverCS\dll)
第三步:
项目中引入命名空间 using MySQLDriverCS;
CODE:
MySQLConnection conn = null ; try { string connstr = " Data Source=MySQL; " + " Password=root;User ID=root;Location=localhost " ; conn = new MySQLConnection(constr); conn.Open(); string query = " insert into test.dbtable values(10, 'disksidkfsdi', 'asdfaf', 'adsfasdf') " ; string tmp = null ; MySQLCommand cmd = new MySQLCommand(query, conn); for ( int i = 0 ; i < 100000 ; i ++ ) { cmd.ExecuteNonQuery(); } cmd.Dispose(); conn.Close(); query = " select * from test.dbtable " ; MySQLCommand cmd2 = new MySQLCommand(query, conn); conn.Open(); MySQLDataReader reader = cmd2.ExecuteReaderEx(); while (reader.Read()) { tmp = reader[ 0 ].ToString(); tmp = reader[ 1 ].ToString(); tmp = reader[ 2 ].ToString(); tmp = reader[ 3 ].ToString(); } conn.Close(); query = " delete from test.dbtable " ; MySQLCommand cmd3 = new MySQLCommand(query, conn); conn.Open(); cmd3.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { conn.Close(); }
和上面的那段代码几乎一模一样,所不同的是Odbc变成了MySQL,另外,需要注意的一点是Command的ExecuteReader方法在MySQLDriverCS中变成了
ExecuteReaderEx,还有些细微的差别请参考附带的文档详细的介绍。
另外,注意的是,我们数据库基本为中文,为了避免乱码,在执行命令之前先执行如下命令:
MySQLCommand commn = new MySQLCommand("set names gb2312",conn);
commn.ExecuteNonQuery();
不太理解。这是因为如果没有这句话从数据库里读出的数据中如果有中文将显示乱码,只要把这个语句“set names gb2312”当作SQL语句执行一遍就可以了。