程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 講解MySQL數據庫與ASP.NET如何強強聯手

講解MySQL數據庫與ASP.NET如何強強聯手

編輯:關於MYSQL數據庫

由於富有競爭力的價格和易於使用,MySQL在市場占有率方面逐步提升。開放源代碼社區為了擴展MySQL的使用范圍,開發出了.Net框架(.NET Framework)中可以使用的數據庫連接器。我們就來學習一下如何在.Net應用程序中使用MySQL。

  和.Net的數據整合

  MySQL 社區已經開發出了MySQL的數據接口,他提供了連接數據源和程序代碼的基本功能。在Windows平台上,有如下的MySQL連接器:

  * MySQL Connector/Net 1.0 (之前被稱為ByteFX.Data):是一個為MySQL設計的開放源代碼.Net數據接口。它是完全用C#來開發的,我們可以在在 MySQL.com網站上找到它。(注意:在本文的例子中,我們都會使用MySQL Connector/Net 1.0這個數據接口來連接數據庫,利用Windows安裝程序即可輕易安裝它,它的代碼實例和文檔也包含其中。)

  * MySQLDirect .Net Data Provider: 是一個由 Core Lab 開發的商業數據接口。他的價格由購買的許可證的類型決定,但是我們可以下載它的試用版。

  如果你使用 Mono,那麼在 Mono網站上可以找到PHP連接器的下載。如果你在Windows平台上運行Mono的話,你下載的連接器包含了安裝程序。如果不是的話,那就要根據你的操作系統的種類去下載合適的連接器了。

  使用MySQL數據接口

  安裝好MySQL的數據接口後,你必須在你的代碼中引入它才能使用。你可以使用 MySql.Data.MySqlClIEnt這個名空間來連接 MySQL 服務器。在C#中,可以使用using語句來引入MySQL數據接口:

  using MySql.Data.MySQLClIEnt;

  另外,你也可以在一個ASP.Net的網頁表單(Web Form)中通過使用導入(Import)指令來引入MySQL數據接口:

  或者,你也可以在你的代碼裡在使用這個名空間時,寫全一個類的完整路徑,但是這樣的話會比使用Import指令來導入輸入更多的字符,浪費更多的字節。指定了名空間後,我們就可以和MySQL數據庫進行數據交互了。MySql.Data.MySqlClIEnt這個名空間提供了許多用於處理MySQL數據的類。下面是這些類的一個樣本:

  * MySqlConnection: 管理和 MySQL 服務器/數據庫的連接;

  * MySqlDataAdapter: 一套用於填充DataSet對象和更新MySQL數據庫的命令和連接的集合;

  * MySqlDataReader: 讓你能夠從一個MySQL數據庫讀取數據。它是一個單向的數據流;

  * MySQLCommand: 提供向數據庫服務器發送指令的功能;

  * MySQLException: 當發生問題時提供例外處理。

  連接MySQL數據庫

  使用MySQL數據庫的第一步是要通過MySQLConnection類和數據庫建立連接。通過一個連接字串,MySqlConnection 將會被實例化成一個示例。連接字符串將告訴代碼到哪裡去找MySQL服務器以及其他一些選項。

  一個連接字串告訴代碼使用指定的用戶名和密碼去連接一個名為MySQLTestServer的MySQL服務器,並進入techrepublic數據庫。我在我的測試機上設定了允許匿名登陸(這樣的設定有非常大的安全漏洞,所以不建議你在生產服務器上也這麼做),所以在范例中將會使用如下的連接字串:

  "server=localhost; database=sitepoint;"

  指定了連接字串後,MySqlConnection對象的Open方法就被調用並打開連接。連接建立後,你就可以給MySQL數據庫發送命令或從數據庫獲得數據了。

  ASP.Net和MySQL的組合

  讓我們更深入的討論一下結合MySqlConnection類和其他的類來生成一個MySQL服務器上的數據庫列表。表 B列出了一個使用C#寫的ASP.Net的網頁表單。它建立了一個連接,接著給服務器下了一個指令(SHOW DATABASES),然後通過MySQLReader對象把結果顯示出來。

  用 MySqlCommand 對象向MySQL服務器發送 SHOW DATABASES 命令和直接在 MySQL 管理工具中輸入這個命令得結果是一樣的。唯一的區別是,我們在代碼中必須使用另一個對象來獲取結果集。MySqlDataReader 對象在獲取結果時被實例化(通過 MySqlCommand 類的 ExecuteReader 方法)。MySQLDataReader 對象的 GetString 方法被用於通過ASP.Net的標簽控制來顯示結果集中的數據。GetString 方法的指針0指定了顯示結果集的當前行(在while循環中)的第一列數據。

  Mono提示

  如果你使用開放源代碼的Mono開發平台,例子中的代碼只需要做小小的改動就能正常的運行。MySQL的數據接口在 ByteFX.Data.MySqlClient 這個空間名裡,而不是Windows上的MySql.Data.MySqlClIEnt空間名。事實上 MySQL 的數據接口原來是由 ByteFX公司開發的,但是後被MySQL公司收購。所以如果你使用Mono的話,你必須這樣聲明空間名:

  using ByteFX.Data.MySQLClIEnt;

  MySQL 和 .NET 的組合提供了一個強大的開發平台。MySQL在開源社區得到了強大的技術支持,.Net也通過 Mono 而被開放源代碼社區所接受。這樣的組合提供了一個在Windows,及其他語言如UNIX或Linux,環境下高度靈活的開發平台。

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