程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> .NET訪問MySQL數據庫的經驗漫談

.NET訪問MySQL數據庫的經驗漫談

編輯:MySQL綜合教程

此文章主要向大家描述的是在.NET訪問MySQL數據庫的實際操作過程中積累的經驗漫談, 我們是以例子的方式來引出本文的核心問題,以下就是文章的詳細內容描述,望大家在浏覽之後會有所收獲。

在.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等方式,都是用"@"號的。

例子如下:

  1. string connstr=Setting.Instance().GetConnectionString("MySQL");  
  2. MySQLConnection conn =new MySQLConnection(connstr);  
  3. conn.Open();  
  4. string query = "insert into myfirst(Id,Name) values(?Id,?Name)";  
  5. MySQLCommand cmd = new MySQLCommand(query, conn);  
  6. MySQLParameter para1=new MySQLParameter("?Id",DbType.Int32);  

這裡要注意必須要用?號

  1. MySQLParameter para2=new MySQLParameter("?Name",DbType.String); 

這裡要注意必須要用?號

  1. para1.Value=5;  
  2. para2.Value="ddd";  
  3. cmd.Parameters.Add(para1);  
  4. cmd.Parameters.Add(para2);  
  5. 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/ 論壇看看:)

原文標題:在.NET訪問MySQL數據庫時的幾點經驗!

連接:http://www.cnblogs.com/tintown/archive/2005/11/08/271646.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved