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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

数据库入门浅析:ASP.NET与MySQL连接

發布時間:2025/6/17 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库入门浅析:ASP.NET与MySQL连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫是每一個開發人員都要接觸的,每個企業對數據庫的重視程度都非常深的,數據庫可以說是一個企業未來發展的一個重要依靠, 如果你不是只在大集團公司工作過的話,你一定會有機會接觸到MySQL,雖然它并不支持事務處理,存儲過程,但是它提供的功能一定能滿足你的大部分需求,另外,簡潔的MySQL也有一些它獨到的優勢,在有些時候,它的速度甚至超過大型數據庫。  對于數據庫的訪問可能很多人都操作過,或多或少都能講出自己的方法與技巧,在本文中筆者將主要為您講述如何在.NET中進行MySQL數據庫訪問,可能講到這很多人都會馬上說用OLEDB嘛,但事實是這樣么?也許很多人在進行訪問時都會采用這種方法去訪問,但往往事與愿違沒有真正的達到訪問的,原因又是什么呢,事實上采用.NET OleDb Data Provider并不能訪問MySQL,如果你使用的話,系統會提示你:"Net Data OLE DB 提供程序 (System.Data.Odbc) 不支持 MSDASQL 提供程序(用于 Odbc 驅動程序的 Microsoft OLE DB 提供程序)。",是什么原因我并不知道,按照MySQLDriverCS的作者的說法就是它被"abandoned by the owner"。?
  雖然以上的方法不能達到訪問的目的,但在本文中筆者將為您介紹另外兩種訪問MySQL數據的方法,希望對您有一定的幫助,分別是利用 ODBC.NET進行訪問與MySQLDriverCS進行訪問:?
  利用ODBC.NET進行數據庫訪問?
  可能很多人對ODBC .NET Data Provider對有一定的了解, ODBC .NET是在.NET的整個框架中屬于附加組件,它需要系統已經安裝MDAC 2.7或者更高版本。另外,還需要安裝MySQL的ODBC驅動程序,下載地址為:http://www.mysql.com/downloads/api-myodbc-2.50.html,還需要在"ODBC數據源管理器"中配置一下DSN。在對象的設計上,ODBC.NET也跟OLEDB,SQL等一樣,分別為OdbcConnection, OdbcCommand, OdbcDataAdapter, OdbcDataReader,用法也完全一樣,如果你希望用ODBC .NET來代替以前的OleDb .NET Data Provider,事實上完全可以通過查找替換的辦法來修改你的程序。?
  以下是一段代碼示例:?
 

以下是引用片段:?
 try??
  {??
  string constr = "DSN=MySQL;" + "UID=;" +"PWD="; ;??
  conn = new OdbcConnection(constr);??
  conn.Open();??
  string query = "insert into test.dbtable values10,'disksidkfsdi', 'asdfaf', 'adsfasdf')";??
  string tmp = null;??
  OdbcCommand cmd = new OdbcCommand(query, conn);??
  for(int i = 0; i < 100000; i++)??
  {??
  cmd.ExecuteNonQuery();??
  }??
  cmd.Dispose();??
  conn.Close();??
  query = "select * from test.dbtable";??
  OdbcCommand cmd2 = newOdbcCommand(query, conn);??
  conn.Open();??
  OdbcDataReader reader = cmd2.ExecuteReader();??
  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";??
  OdbcCommand cmd3 = newOdbcCommand(query, conn);??
  conn.Open();??
  cmd3.ExecuteNonQuery();??
  }??
  catch(Exception ex)??
  {??
  MessageBox.Show(ex.Message);??
  }??
  finally??
  {??
  conn.Close();??
  }
  一些資深的程序員可能都熟悉很多種數據庫的應用,如上面的數據很多人一看就知道程序運行了十萬次數據的讀取與插入,而在程序的最后會對所有顯示的數據進行刪除。?
利用MySQLDriverCS進行數據庫訪問?
  可能大部分的人都不知道這個東西,MySQLDriverCS是MySQL數據庫的一個免費開源的.NET驅動程序。和Sql .NET Data Provider是為Sql Server一樣,它是專門為MySQL設計的,可以叫做MySQL .NET Data Provider。使用他不需要額外的去設置ODBC數據源,基本上只要能連接到MySQL就能通過MySQLDriverCS來訪問。?
  MySQLDriverCS是SourceForge.NET上的一個項目,不過不知道什么原因,這個網站在國內訪問不到。?
  下面是使用MySQLDriverCS的代碼示例:?
  
以下是代碼片段:?
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,還有些細微的差別請參考附帶的文檔詳細的介紹。?
  可能很多人對于上面的代碼都一目了然,最后程序實現的功能與結果也已心里有數。上面的代碼所要表達的用意就是對程序進行性能的測試。以上兩段代碼的執行時間分別是:ODBC.NET為24秒左右,MySQLDriverCS為17秒左右。結果并不出人意外,作為MySQL的專用數據驅動程序,MySQLDriverCS的速度大大快于ODBC.NET是在情理之中的。?
  總結?
  在本文中讀者們了解到了從.NET中訪問MySQL數據庫的兩種方法,在文章的最后也同時進行了一個性能的測試,相信大家應該有了一個大概的了解,也許對MySQL數據的訪問可能還有更多的訪問方法,在本文中筆者就不一一為大家闡述,希望對大家能有一個參考價值。

轉載于:https://www.cnblogs.com/mengheyun/archive/2011/02/18/1957609.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的数据库入门浅析:ASP.NET与MySQL连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。