在.NET訪問MySql資料庫時的幾點經驗!

來源:互聯網
上載者:User
在.NET中要訪問MySql,我採用的是MySql官方提供的.NET connector,此驅動只需要下載即可使用:http://dev.mysql.com/downloads/connector/net/1.0.html

在使用中積累了幾點經驗:
1)使用Parameter參數形式提交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)在MySQL中也有保留字,為了提供相容,我必須要找到定界符,好不容易在MySql的論壇裡找到了,使用的定界符是`,這個符號不是單引號,而是鍵盤上數字1前面的那個“點”,真是害死我啊。

3)MySQL中的TOP功能倒是非常簡單,只需要語句後面使用“limit n”就行了,這比ORACLE的那Rownum方便多了。

使用MySql 的.NET Connector訪問MySQL總體來說還算不錯的,大部分是相容.NET中的IConnection、ICommand的。

PS:有個不明白就是在.NET Connector中提供一個MySqlDateTime類,不知道這個類具體有什麼用,怎麼用,在國內沒有找到相關的資料。MySqlDateTime跟System.Date還不相容,在MySQL論壇上相關文章N多。

如果採用String類型的Parameter傳遞給MySql的DateTime欄位會報:Unable to Convert MySql Date/Time value to System.DateTime 的錯誤。

所有相關的MySQL的問題可以去:http://forum.mysql.com/ 論壇看看:)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.