開放源代碼社區(qū)為了擴展MySQL的使用范圍,開發(fā)出了.Net框架(.NET Framework)中可以使用的數(shù)據(jù)庫連接器。我們就來學(xué)習(xí)一下如何在.Net應(yīng)用程序中使用MySQL。
由于富有競爭力的價格和易于使用,MySQL在市場占有率方面逐步提升。開放源代碼社區(qū)為了擴展MySQL的使用范圍,開發(fā)出了.Net框架(.NET Framework)中可以使用的數(shù)據(jù)庫連接器。我們就來學(xué)習(xí)一下如何在.Net應(yīng)用程序中使用MySQL。
每周三發(fā)布的TechRepublic的.NET通訊,包含有網(wǎng)絡(luò)服務(wù), ASP.NET, ADO.NET, 和 Visual Studio .NET相關(guān)的實用技巧與代碼實例. 現(xiàn)在就自動訂閱!
MySQL漸漸的成為了在選擇數(shù)據(jù)庫平臺時一個切實可行的數(shù)據(jù)庫方案。能夠證明這一點的就是許多公司都選擇mySQL作為他們的數(shù)據(jù)庫平臺,例如 Google、美聯(lián)社(The Associated Press) 以及美國國家航空宇航局( NASA)。雖然對于一個開放源代碼來說,低廉的價格常常被當(dāng)作主要優(yōu)點來說服客戶,但是對于象Google那樣的大規(guī)模的組織來說,他們不會放心的把非常有用的信息存放在一個只有價格優(yōu)勢的數(shù)據(jù)庫產(chǎn)品中。MySQL真正的實力遠遠的超過了他的價格優(yōu)勢,他提供了豐富的來自開放源代碼社區(qū)和商業(yè)化的附加工具。
和.NET的數(shù)據(jù)整合
MySQL 社區(qū)已經(jīng)開發(fā)出了MySQL的數(shù)據(jù)接口,他提供了連接數(shù)據(jù)源和程序代碼的基本功能。在Windows平臺上,有如下的MySQL連接器:
* MySQL Connector/Net 1.0 (之前被稱為ByteFX.Data):是一個為MySQL設(shè)計的開放源代碼.NET數(shù)據(jù)接口。它是完全用C#來開發(fā)的,我們可以在在 MySQL.com網(wǎng)站上找到它。(注意:在本文的例子中,我們都會使用MySQL Connector/Net 1.0這個數(shù)據(jù)接口來連接數(shù)據(jù)庫,利用Windows安裝程序即可輕易安裝它,它的代碼實例和文檔也包含其中。)
* MySQLDirect .NET Data Provider: 是一個由 Core Lab 開發(fā)的商業(yè)數(shù)據(jù)接口。他的價格由購買的許可證的類型決定,但是我們可以下載它的試用版。
如果你使用 Mono,那么在 Mono網(wǎng)站上可以找到PHP連接器的下載。如果你在Windows平臺上運行Mono的話,你下載的連接器包含了安裝程序。如果不是的話,那就要根據(jù)你的操作系統(tǒng)的種類去下載合適的連接器了。
使用MySQL數(shù)據(jù)接口
安裝好MySQL的數(shù)據(jù)接口后,你必須在你的代碼中引入它才能使用。你可以使用 MySql.Data.MySqlClient這個名空間來連接 MySQL 服務(wù)器。在C#中,可以使用using語句來引入MySQL數(shù)據(jù)接口:
using MySql.Data.MySqlClient;
另外,你也可以在一個ASP.NET的網(wǎng)頁表單(Web Form)中通過使用導(dǎo)入(Import)指令來引入MySQL數(shù)據(jù)接口:
或者,你也可以在你的代碼里在使用這個名空間時,寫全一個類的完整路徑,但是這樣的話會比使用Import指令來導(dǎo)入輸入更多的字符,浪費更多的字節(jié)。指定了名空間后,我們就可以和MySQL數(shù)據(jù)庫進行數(shù)據(jù)交互了。 MySql.Data.MySqlClient這個名空間提供了許多用于處理MySQL數(shù)據(jù)的類。下面是這些類的一個樣本:
* MySqlConnection: 管理和 MySQL 服務(wù)器/數(shù)據(jù)庫的連接;
* MySqlDataAdapter: 一套用于填充DataSet對象和更新MySQL數(shù)據(jù)庫的命令和連接的集合;
* MySqlDataReader: 讓你能夠從一個 MySQL 數(shù)據(jù)庫讀取數(shù)據(jù)。它是一個單向的數(shù)據(jù)流;
* MySqlCommand: 提供向數(shù)據(jù)庫服務(wù)器發(fā)送指令的功能;
* MySqlException: 當(dāng)發(fā)生問題時提供例外處理。
我們會使用其中的一些類去和我們的范例數(shù)據(jù)庫進行數(shù)據(jù)交互。
由于富有競爭力的價格和易于使用,MySQL在市場占有率方面逐步提升。開放源代碼社區(qū)為了擴展MySQL的使用范圍,開發(fā)出了.Net框架(.NET Framework)中可以使用的數(shù)據(jù)庫連接器。我們就來學(xué)習(xí)一下如何在.Net應(yīng)用程序中使用MySQL。
每周三發(fā)布的TechRepublic的.NET通訊,包含有網(wǎng)絡(luò)服務(wù), ASP.NET, ADO.NET, 和 Visual Studio .NET相關(guān)的實用技巧與代碼實例. 現(xiàn)在就自動訂閱!
MySQL漸漸的成為了在選擇數(shù)據(jù)庫平臺時一個切實可行的數(shù)據(jù)庫方案。能夠證明這一點的就是許多公司都選擇mySQL作為他們的數(shù)據(jù)庫平臺,例如 Google、美聯(lián)社(The Associated Press) 以及美國國家航空宇航局( NASA)。雖然對于一個開放源代碼來說,低廉的價格常常被當(dāng)作主要優(yōu)點來說服客戶,但是對于象Google那樣的大規(guī)模的組織來說,他們不會放心的把非常有用的信息存放在一個只有價格優(yōu)勢的數(shù)據(jù)庫產(chǎn)品中。MySQL真正的實力遠遠的超過了他的價格優(yōu)勢,他提供了豐富的來自開放源代碼社區(qū)和商業(yè)化的附加工具。
和.NET的數(shù)據(jù)整合
MySQL 社區(qū)已經(jīng)開發(fā)出了MySQL的數(shù)據(jù)接口,他提供了連接數(shù)據(jù)源和程序代碼的基本功能。在Windows平臺上,有如下的MySQL連接器:
* MySQL Connector/Net 1.0 (之前被稱為ByteFX.Data):是一個為MySQL設(shè)計的開放源代碼.NET數(shù)據(jù)接口。它是完全用C#來開發(fā)的,我們可以在在 MySQL.com網(wǎng)站上找到它。(注意:在本文的例子中,我們都會使用MySQL Connector/Net 1.0這個數(shù)據(jù)接口來連接數(shù)據(jù)庫,利用Windows安裝程序即可輕易安裝它,它的代碼實例和文檔也包含其中。)
* MySQLDirect .NET Data Provider: 是一個由 Core Lab 開發(fā)的商業(yè)數(shù)據(jù)接口。他的價格由購買的許可證的類型決定,但是我們可以下載它的試用版。
如果你使用 Mono,那么在 Mono網(wǎng)站上可以找到PHP連接器的下載。如果你在Windows平臺上運行Mono的話,你下載的連接器包含了安裝程序。如果不是的話,那就要根據(jù)你的操作系統(tǒng)的種類去下載合適的連接器了。
使用MySQL數(shù)據(jù)接口
安裝好MySQL的數(shù)據(jù)接口后,你必須在你的代碼中引入它才能使用。你可以使用 MySql.Data.MySqlClient這個名空間來連接 MySQL 服務(wù)器。在C#中,可以使用using語句來引入MySQL數(shù)據(jù)接口:
using MySql.Data.MySqlClient;
另外,你也可以在一個ASP.NET的網(wǎng)頁表單(Web Form)中通過使用導(dǎo)入(Import)指令來引入MySQL數(shù)據(jù)接口:
或者,你也可以在你的代碼里在使用這個名空間時,寫全一個類的完整路徑,但是這樣的話會比使用Import指令來導(dǎo)入輸入更多的字符,浪費更多的字節(jié)。指定了名空間后,我們就可以和MySQL數(shù)據(jù)庫進行數(shù)據(jù)交互了。 MySql.Data.MySqlClient這個名空間提供了許多用于處理MySQL數(shù)據(jù)的類。下面是這些類的一個樣本:
* MySqlConnection: 管理和 MySQL 服務(wù)器/數(shù)據(jù)庫的連接;
* MySqlDataAdapter: 一套用于填充DataSet對象和更新MySQL數(shù)據(jù)庫的命令和連接的集合;
* MySqlDataReader: 讓你能夠從一個 MySQL 數(shù)據(jù)庫讀取數(shù)據(jù)。它是一個單向的數(shù)據(jù)流;
* MySqlCommand: 提供向數(shù)據(jù)庫服務(wù)器發(fā)送指令的功能;
* MySqlException: 當(dāng)發(fā)生問題時提供例外處理。
我們會使用其中的一些類去和我們的范例數(shù)據(jù)庫進行數(shù)據(jù)交互。