解讀如何在.NET中訪問MySQL數據庫_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:詳解.NET中的代碼動態編譯
      代碼的動態編譯并執行是一個.NET平臺提供給我們的很強大的工具用以靈活擴展(當然是面對內部開發人員)復雜而無法估算的邏輯,并通過一些額外的代碼來擴展我們已有的應用程序。這在很大程

      引言:如果你不是只在大集團公司工作過的話,你一定會有機會接觸到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

      ODBC.NET(全稱ODBC .NET Data Provider)是一個免費的.NET Framework附加組件,需要到微軟公司的網站上去下載,它需要系統已經安裝MDAC 2.7或者更高版本。另外,還需要安裝MySQL的ODBC驅動程序,還需要在"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();
      }

      只要是用C#寫過數據庫應用的人一定能知道,上面的代碼執行了十萬次插入數據和讀取數據,最后將數據記錄全部刪除的操作。

      分享:.NET編程之關于VS 2008和.NET 3.5 Beta2新特性介紹
      非常重要的注意事項: 請閱讀本博客貼子下面的“安裝注意事項”,內含安裝之后你必要采取的幾個步驟,以保證一切運行良好。其中一個步驟修正了并行安裝造成的ASP.NET AJAX問題。

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2009-09-09
      相關.Net教程