国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:08:17
字體:
來源:轉載
供稿:網友

由于富有競爭力的價格和易于使用,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 namespace "mysql.data.mysqlclient" %>

或者,你也可以在你的代碼里在使用這個名空間時,寫全一個類的完整路徑,但是這樣的話會比使用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,環境下高度靈活的開發平臺。



收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扎鲁特旗| 钦州市| 河池市| 屯门区| 北辰区| 吉隆县| 榆社县| 辉县市| 喜德县| 泾川县| 阿合奇县| 大兴区| 清水河县| 慈溪市| 鄄城县| 航空| 巴南区| 云霄县| 如东县| 井陉县| 南通市| 司法| 运城市| 长乐市| 潼关县| 漳浦县| 江陵县| 会同县| 始兴县| 文成县| 太保市| 海南省| 当涂县| 唐山市| 宜州市| 玉溪市| 洪洞县| 金平| 遵义市| 黄平县| 冷水江市|