掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在.NET中訪問MySQL,很多人采用的是MySQL數(shù)據(jù)庫官方所提供的.NET connector,對其當(dāng)然你也可以在相關(guān)的網(wǎng)站找到自己用得比較順手的,以下的文章主要講述的是.NET訪問MySQL數(shù)據(jù)庫經(jīng)驗。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),揚州企業(yè)網(wǎng)站建設(shè),揚州品牌網(wǎng)站建設(shè),網(wǎng)站定制,揚州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,揚州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
在使用中積累了幾點經(jīng)驗:
1).NET訪問MySQL數(shù)據(jù)庫經(jīng)驗:使用Parameter參數(shù)形式提交Command時必須要把"@"號換成"?"號,這一點讓我困惑了一天,只是不明白MySQL為何要搞特殊呢,象MS、ODP.NET for Oracle、OleDb等方式,都
用"@"號的。
例子如下:
- string connstr=Setting.Instance().GetConnectionString("MySQL");
- MySQLConnection conn =new MySQLConnection(connstr);
- conn.Open();
- string query = "insert into myfirst(Id,Name) values(?Id,?Name)";
- MySQLCommand cmd = new MySQLCommand(query, conn);
- MySQLParameter para1=new MySQLParameter("?Id",DbType.Int32);
這里要注意必須要用?號
- MySQLParameter para2=new MySQLParameter("?Name",DbType.String);
這里要注意必須要用?號
- para1.Value=5;
- para2.Value="ddd";
- cmd.Parameters.Add(para1);
- cmd.Parameters.Add(para2);
- cmd.ExecuteNonQuery();
2).NET訪問MySQL數(shù)據(jù)庫經(jīng)驗:在MySQL中也有保留字,為了提供兼容,我必須要找到定界符,好不容易在MySQL的論壇里找到了,使用的定界符是`,這個符號不是單引號,而是鍵盤上數(shù)字1前面的那個“點”,真是害死我啊。
3).NET訪問MySQL數(shù)據(jù)庫經(jīng)驗:MySQL中的TOP功能倒是非常簡單,只需要語句后面使用“l(fā)imit n”就行了,這比ORACLE的那Rownum方便多了。
使用MySQL 的.NET Connector訪問MySQL總體來說還算不錯的,大部分是兼容.NET中的IConnection、ICommand的。
PS:有個不明白就是在.NET Connector中提供一個MySQLDateTime類,不知道這個類具體有什么用,怎么用,在國內(nèi)沒有找到相關(guān)的資料。MySQLDateTime跟System.Date還不兼容,在MySQL論壇上相關(guān)帖子N多。
如果采用String類型的Parameter傳遞給MySQL的DateTime字段會報:Unable to Convert MySQL Date/Time value to System.DateTime 的錯誤。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流