日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

C#操作MySQL数据库的简单例子

發(fā)布時間:2025/3/21 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#操作MySQL数据库的简单例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

其實很簡單,但是我在網(wǎng)上找的時候卻找不到有用的信息,奇怪。
到這里下載驅(qū)動
http://www.mysql.com/products/connector/

?

下載的包里面有使用的例子。
需要具備的知識:知道怎樣添加一個dll的reference到現(xiàn)有的項目中。
剛開始是想找通過OleDb連接mysql的,后來沒有找到合適的。
微軟的接口規(guī)劃得很好,只要把OleDb換成MySql,以前的程序基本不用改變。
建議放棄使用OleDb來訪問MySql的做法,因為據(jù)說效率不高,直接使用上面的mysql-connector-net。

?

?



?

?++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

?

?

?

本示例演示了用C#操作MySQL的方法,提供了三個可重用的類MySqlDBUtil,MySqlPageUtil,Page。

本示例由 C#操作Access數(shù)據(jù)庫的簡單例子(http://www.albertsong.com/read-56.html)修改而來。
1.首先下載MySQL數(shù)據(jù)庫的.NET驅(qū)動
http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.0.8.1-noinstall.zip/from/pick#mirrors
將bin目錄里的MySql.Data.dll文件復(fù)制到工程目錄,并且將dll的引用加入到項目中,這樣就可以通過相關(guān)的類來操作MySQL數(shù)據(jù)庫了。 using?MySql.Data.MySqlClient;
using?System.Data;
連接字符串: String?connectionString?=?"server=127.0.0.1;user?id=root;?password=as;?database=albertsong;?pooling=false;charset=utf8";連接字符串中各個項目的意思是很明確的,需要注意的是charset應(yīng)該設(shè)置成和數(shù)據(jù)庫表的charset一致,否則可能出現(xiàn)中文亂碼。
然后將整個項目中的OleDb用MySql替換,這樣基本上就可以了。不同的是帶參數(shù)的sql語句,
Access中是 string?sql="insert?into?product(name,quantity,price,sale_date,checked_flag)values(?,?,?,?,?)";
parameters[
0]=new?MySqlParameter("@name",MySqlDbType.VarChar,100);
MySql中應(yīng)改為 string?sql="insert?into?product(name,quantity,price,sale_date,checked_flag)values(?name,?quantity,?price,?sale_date,?checked_flag)";
parameters[
0]=new?MySqlParameter("?name",MySqlDbType.VarChar,100);
2.取得MySQL自增標(biāo)識字段在插入數(shù)據(jù)后的id值 cmd.CommandText?=?@"select?@@identity";
int?value?=?Int32.Parse(cmd.ExecuteScalar().ToString());
return?value;
cmd.CommandText?=?@"select?LAST_INSERT_ID()";結(jié)果一樣,兩者的區(qū)別沒有研究。
3.分頁查詢
使用Limit子句來處理分頁查詢,這樣相對于Access的分頁查詢,代碼大量簡化,效率也會提高。
代碼這里下載MySqlDBUtilDemo.rar?(198.41 KB , 下載:4193次)
本例程是一個c#的winform程序,但是數(shù)據(jù)訪問類可以在Web環(huán)境下使用。
運行前先利用bin\Release下的sql語句文件建表并修改MySqlDBUtil中的連接字符串。
本例程演示了:
1.MySQL數(shù)據(jù)庫的插入,更新,修改,查詢;
2.帶參數(shù)的sql語句的使用,而不是拼SQL;
3.使用Limit子句的分頁查詢;
4.用事務(wù)同時執(zhí)行多個SQL語句;
5.在插入數(shù)據(jù)的同時返回最新的ID值;
6.整型,實型,字符串,日期型,布爾型五種數(shù)據(jù)類型的操作;
7.使用正則表達(dá)式來驗證整數(shù)和實數(shù);
8.listview用來顯示數(shù)據(jù)的一些基本用法。
本示例不包括:
1.完善的分頁封裝,只提供了分頁的簡單包裝。
2.嵌套的事務(wù)處理,提供了同時執(zhí)行多個sql語句的事務(wù)處理,但不支持嵌套事務(wù)。
3.listview的使用,只是利用winform控件來演示數(shù)據(jù)訪問,因此不能作為winform編程的良好示例,例如添加數(shù)據(jù)時界面并沒有很好地更新。
后記:
由于API接口一致,將操作Access數(shù)據(jù)庫的類改為操作MySQL數(shù)據(jù)庫的類很容易,利用這兩個示例,可以學(xué)習(xí)基本的數(shù)據(jù)庫操作,也可以用來做一些簡單的應(yīng)用程序了。實際的項目中有成熟的開源項目可用,如iBATIS.NET和NHibernate,這些項目都建筑在這些基本的API之上,先學(xué)習(xí)我寫的這兩個小例子也有助于學(xué)習(xí)理解這些項目。

總結(jié)

以上是生活随笔為你收集整理的C#操作MySQL数据库的简单例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。