ASP.NET與MySQL數(shù)據(jù)庫(kù)簡(jiǎn)明圖示入門(mén)教程
作者: CRYSTAL編譯
在ASP時(shí)代,如果我們要建立一個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)的web站點(diǎn),那么你可以選擇環(huán)很多錢(qián)的微軟SQL SERVER數(shù)據(jù)庫(kù)或者選擇要花很多時(shí)間來(lái)尋找達(dá)到性能和穩(wěn)定性統(tǒng)一的ACCESS數(shù)據(jù)庫(kù),但在.NET時(shí)代你有另一種選擇,那就是:MySQL數(shù)據(jù)庫(kù)
什么是MySQL數(shù)據(jù)庫(kù)?
MySQL數(shù)據(jù)庫(kù)是一種開(kāi)放源代碼的數(shù)據(jù)庫(kù),通過(guò)獲得授權(quán)來(lái)保持源代碼的官方支持,同時(shí)可以自由修改源代碼,目前許多公司和組織都采用了這種數(shù)據(jù)庫(kù)。對(duì)此詳細(xì)信息您可以訪問(wèn)MySQL的官方站點(diǎn)。
第一步 下載和安裝
與大多數(shù)軟件一樣,首先是得到并安裝mysql數(shù)據(jù)庫(kù)軟件,獲得Mysql數(shù)據(jù)庫(kù)的方很簡(jiǎn)單,在http://dev.mysql.com/downloads/index.html . 上可以自由下載,本文采用的是Mysql4.1,當(dāng)然讀者也可以下在其他版本,不過(guò)我要推薦給讀者的是最好下載預(yù)編譯的二進(jìn)制的文件。我的操作平臺(tái)是Windwos XP,所以我選擇的是包括安裝文件的Windows版,這個(gè)版本大約35M,所以下載的時(shí)間不是很長(zhǎng),除非你的網(wǎng)絡(luò)有問(wèn)題。
安裝非常簡(jiǎn)單,按照安裝步驟不會(huì)導(dǎo)致任何問(wèn)題,如下圖:
MySQL Server安裝
MySQL Server安裝
MySQL Server安裝
MySQL Server安裝
如圖所示,在安裝完成的最后一步,系統(tǒng)會(huì)問(wèn)你是否要配置MySQL服務(wù)器,如果選擇現(xiàn)在配置MySQL服務(wù)器,那么系統(tǒng)將自動(dòng)運(yùn)行MySQL實(shí)例配置向?qū)?,于是你將進(jìn)入下一步。
第二步 配置
MySQL服務(wù)器實(shí)例配置向?qū)古渲梅?wù)器變得非常簡(jiǎn)單,按照配置向?qū)б徊揭徊降淖?,絕大多數(shù)時(shí)候都選擇缺省配置。
![]() MySQL服務(wù)器配置向?qū)?br> ![]() MySQL服務(wù)器配置向?qū)?/DIV> |
如上圖,讀者可以自行選擇是安裝在專用的數(shù)據(jù)庫(kù)服務(wù)器上或是共享的服務(wù)器,由于我使用的筆記本電腦,所以我選擇是最簡(jiǎn)單的"Developer Machine",這個(gè)設(shè)置不能提供同樣的性能,而且也不能使用很多系統(tǒng)資源
![]() MySQL服務(wù)器配置向?qū)Аx擇數(shù)據(jù)庫(kù)的用途 ![]() MySQL服務(wù)器配置向?qū)А付═CP/IP和端口號(hào) |
必須確保響應(yīng)TCP/IP網(wǎng)絡(luò)協(xié)議,以保證Web頁(yè)載需要的時(shí)候Web服務(wù)器能連接數(shù)據(jù)庫(kù);如果你的數(shù)據(jù)庫(kù)和web服務(wù)器安裝在同一臺(tái)服務(wù)器上,那么可以禁用這個(gè)選項(xiàng)以防止來(lái)自網(wǎng)絡(luò)的訪問(wèn)。
MySQL服務(wù)器配置向?qū)АO(shè)置默認(rèn)字符串類(lèi)型
![]() MySQL服務(wù)器配置向?qū)?br> ![]() MySQL服務(wù)器配置向?qū)А惭b服務(wù) ![]() MySQL服務(wù)器配置向?qū)АO(shè)置SQL連接密碼 ![]() MySQL服務(wù)器配置向?qū)А磳⑼瓿膳渲?/DIV> |
第三步 MySQL Administrator
也許你認(rèn)為可以不需要這個(gè)東西,但我還是要建議你下載并使用MySQL Administrator,它提供圖形界面以幫助你管理MySQL數(shù)據(jù)庫(kù),Windows用戶可以通過(guò)命令提示行運(yùn)行MySQL Administrator,在余下時(shí)間里我假定你已經(jīng)安裝了MySQL Administrator,并且將使用相關(guān)圖例。
![]() MySQL Administrator主界面 |
第四步 創(chuàng)建數(shù)據(jù)庫(kù)
要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),我們必須首先連接服務(wù)器。運(yùn)行MySQL Administrator并登陸服務(wù)器。
![]() 運(yùn)行MySQL Administrator并登陸服務(wù)器 |
選擇MySQL Administrator左側(cè)底部的"Catalogs",然后在管理器的右側(cè)會(huì)出現(xiàn)目前服務(wù)器上已經(jīng)有的數(shù)據(jù)庫(kù)目錄,右擊Schema窗口的"mysql",選擇"Create New Schema"。
![]() 創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù) |
系統(tǒng)將提示你輸入數(shù)據(jù)庫(kù)的名稱,這里我們使用"mydatabase",在本文以后也將使用這個(gè)名稱。
![]() 輸入數(shù)據(jù)庫(kù)名稱 |
一旦創(chuàng)建后,新數(shù)據(jù)庫(kù)就將與服務(wù)器中的其他數(shù)據(jù)庫(kù)一起出現(xiàn)在Schema窗口,選擇它后,在右側(cè)窗口將出現(xiàn)它的詳細(xì)資料。
完成新數(shù)據(jù)庫(kù)的創(chuàng)建:
![]() 新的數(shù)據(jù)庫(kù)創(chuàng)建完成了 |
現(xiàn)在這里面還沒(méi)有更多的東西,因?yàn)槟壳皵?shù)據(jù)庫(kù)還是空的。下面我們就為數(shù)據(jù)庫(kù)添加點(diǎn)東西。
第五步 創(chuàng)建表
創(chuàng)建表很簡(jiǎn)單,只需要點(diǎn)擊"Create Table"按鈕,于是將出現(xiàn)下面的對(duì)話框:
![]() 創(chuàng)建表 |
如圖所示,我們已經(jīng)給表取名為"mytable",有四個(gè)域,其中id域?yàn)樽詣?dòng)增量的主鍵、一個(gè)整數(shù)域、一個(gè)文本域和一個(gè)時(shí)間/日期域。
在完成這些后,點(diǎn)擊"Apply Changes"按鈕,將出現(xiàn)如下圖的窗口,窗口中的是創(chuàng)建表的SQL語(yǔ)句,同時(shí)詢問(wèn)是否執(zhí)行,當(dāng)然點(diǎn)擊"Execute"。
![]() 確認(rèn)并執(zhí)行表中的SQL語(yǔ)句 |
到目前為止,我們已經(jīng)創(chuàng)建了一個(gè)包含名為"mytable"的表的名為"mydatabase"的數(shù)據(jù)庫(kù),下面我們要做的就是為數(shù)據(jù)庫(kù)添加點(diǎn)數(shù)據(jù)。
第六步 添加數(shù)據(jù)
在真實(shí)情況中,添加數(shù)據(jù)是通過(guò)應(yīng)用程序來(lái)實(shí)現(xiàn)的,但現(xiàn)在僅僅是要添加幾個(gè)樣本數(shù)據(jù),所以我將在MySQL客戶端命令中使用SQL語(yǔ)句的insert語(yǔ)句來(lái)實(shí)現(xiàn),如果現(xiàn)在你還在MySQL Administrator中,那么可以通過(guò)菜單"tools"來(lái)訪問(wèn)命令行(Tools -> MySQL Command Line Client),否則可以通過(guò)開(kāi)始菜單的MySQL組來(lái)訪問(wèn)。
![]() 通過(guò)命令行語(yǔ)句來(lái)實(shí)現(xiàn)添加數(shù)據(jù) |
圖中的第一行是告訴服務(wù)器我將使用那個(gè)數(shù)據(jù)庫(kù),第二和第三僅僅是簡(jiǎn)單的向數(shù)據(jù)庫(kù)插入數(shù)據(jù)。
現(xiàn)在數(shù)據(jù)表中有兩個(gè)樣本數(shù)據(jù),到目前為止,我們的數(shù)據(jù)庫(kù)服務(wù)器已經(jīng)建立并運(yùn)行了,里面有一個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)表,一些數(shù)據(jù)。
第七步 創(chuàng)建新的MySQL用戶賬號(hào)
要添加用戶賬號(hào)需要再一次運(yùn)行并登陸MySQL Administrator,在MySQL Administrator窗口的左邊選擇"User Administration",同時(shí)右邊將顯示服務(wù)器現(xiàn)行賬號(hào)的信息(這里通常是所謂的root),右擊下面小窗口里的賬號(hào),選擇"Add new User"。
![]() 再次運(yùn)行MySQL Administrator,并添加一個(gè)用戶帳號(hào) |
接下來(lái)系統(tǒng)將提示你輸入新用戶的詳細(xì)信息,我給新用戶取名為"15secs",口令設(shè)置為"password".
![]() 設(shè)置用戶名、密碼等常規(guī)選項(xiàng) |
完成這些后,點(diǎn)擊"Apply Changes"按鈕以保存輸入。
第八步 給用戶賬號(hào)授權(quán)
缺省狀況下的新用戶幾乎什么都做不了,要允許新用戶連接MySQL數(shù)據(jù)庫(kù)必須在"Schema Privileges"中進(jìn)行授權(quán),這一切將在MySQL Administrator.中的"Schema Privileges"中完成。
![]() 為新開(kāi)帳號(hào)設(shè)置權(quán)限 |
注意上圖還沒(méi)有為用戶進(jìn)行任何授權(quán),由于后面的代碼需要查詢數(shù)據(jù)庫(kù),故需要授予用戶"select"權(quán)限,然后點(diǎn)擊"Apply Changes"按鈕保存。
進(jìn)行授權(quán):
![]() 進(jìn)行授權(quán) |
也許應(yīng)用程序需要更多的權(quán)限,如:"INSERT", "UPDATE", 和 "DELETE"等等,你可以用同樣的方法授予給用戶,但要注意的是,權(quán)限越多安全越小,你必須對(duì)每個(gè)用戶都實(shí)行控制。
第九步 ASP.NET頁(yè)連接數(shù)據(jù)庫(kù)服務(wù)器
在.NET中連接MySQL數(shù)據(jù)庫(kù)有兩種方法:MySQL Connector/ODBC 和 MySQL Connector/Net,ODBC連接器是符合ODBC標(biāo)準(zhǔn)的交互平臺(tái),是.NET訪問(wèn)MySQL數(shù)據(jù)庫(kù)的最好的選擇。
下載MySQL Connector/Net,然后直接安裝,如下圖:
MySQL Connector/Net安裝圖
MySQL Connector/Net安裝圖
MySQL Connector/Net安裝圖
MySQL Connector/Net安裝圖
注意:我選擇了register Connector/NET in the Global Assembly Cache,但我發(fā)現(xiàn)它已經(jīng)被安裝了,但我不能使用import語(yǔ)句,找不到Connector/NET的名稱空間,直到將MySql.Data.dll文件拷貝到/bin目錄下后才解決這個(gè)問(wèn)題,系統(tǒng)報(bào)出的錯(cuò)誤是:
我相信這個(gè)問(wèn)題依然存在,只能暫時(shí)用手工將文件從安裝位置拷貝到相應(yīng)的目錄中,如:C:\Program Files\MySQL\MySQL Connector Net 1.0.4\bin\.NET 1.1\,拷貝到C:\Inetpub\wwwroot\bin\,就可以解決這個(gè)問(wèn)題。
第十步 示例程序
至此我們的數(shù)據(jù)庫(kù)終于完成,MySQL Connector/Net也安裝成功,我們?cè)撟鳇c(diǎn)其他什么事情了。下面我將提供一段簡(jiǎn)單的腳本,在這段腳本中,我們將連接和查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù),輸入數(shù)據(jù)不是腳本的要點(diǎn)。 MySQL.aspx
<%@ Page Language="VB" debug="true" %> <%@ Import Namespace = "System.Data" %> <%@ Import Namespace = "MySql.Data.MySqlClient" %> <script language="VB" runat="server"> Sub Page_Load(sender As Object, e As EventArgs) Dim myConnection As MySqlConnection Dim myDataAdapter As MySqlDataAdapter Dim myDataSet As DataSet Dim strSQL As String Dim iRecordCount As Integer myConnection = New MySqlConnection("server=localhost; user id=15secs; password=password; database=mydatabase; pooling=false;") strSQL = "SELECT * FROM mytable;" myDataAdapter = New MySqlDataAdapter(strSQL, myConnection) myDataSet = New Dataset() myDataAdapter.Fill(myDataSet, "mytable") MySQLDataGrid.DataSource = myDataSet MySQLDataGrid.DataBind() End Sub </script> <html> ?。糷ead> ?。紅itle>Simple MySQL Database Query</title> </head> <body> <form runat="server"> ?。糰sp:DataGrid id="MySQLDataGrid" runat="server" /> </form> </body> </html> |
在上面的腳本中黑體字部分將隨你采用的平臺(tái)不同而進(jìn)行修改,如采用SQL Server應(yīng)用System.Data.SQLClient來(lái)替換MySql.Data.MySqlClient,這只是一點(diǎn),更詳細(xì)的本文就不討論了。下圖是腳本運(yùn)行結(jié)果:
![]() 腳本運(yùn)行結(jié)果 |
結(jié)論:
我希望本文能對(duì)讀者理解數(shù)據(jù)庫(kù)服務(wù)器有所幫助,當(dāng)你打算從access或SQL Server上升級(jí)的時(shí)候,MySQL是一個(gè)不錯(cuò)的選擇,盡管它是開(kāi)放源代碼的,而且還有些缺陷,但它與.NET的結(jié)合能做許多工作,另外MySQL Administrator使管理數(shù)據(jù)庫(kù)服務(wù)器不再是管理員的噩夢(mèng)。
相關(guān)文章
ASP.NET Core文件上傳與下載實(shí)例(多種上傳方式)
下面小編就為大家分享一篇ASP.NET Core文件上傳與下載實(shí)例(多種上傳方式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01ASP.NET 生成靜態(tài)頁(yè)面 實(shí)現(xiàn)思路
網(wǎng)上的cms系統(tǒng)好多都是支持生成靜態(tài)的,大家在使用過(guò)程中,也肯定遇到了很多的問(wèn)題,下面就是一些實(shí)現(xiàn)的原理,其實(shí) asp,php,asp.net的原理都是差不多的。2009-06-06asp.net 修飾符介紹(關(guān)于public、private、protected、internal)
這篇文章主要介紹了asp.net 修飾符介紹、關(guān)于public、private、protected、internal,需要的朋友可以參考下2014-08-08asp.net窗體的打開(kāi)和關(guān)閉(輸出js)
asp.net窗體的打開(kāi)和關(guān)閉(輸出js),需要的朋友可以參考下。2011-06-06asp.net源程序編譯為dll文件并調(diào)用的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了asp.net源程序編譯為dll文件并調(diào)用的實(shí)現(xiàn)過(guò)程,非常有實(shí)用價(jià)值,需要的朋友可以參考下2014-07-07Entity?Framework生成DataBase?First模式
本文詳細(xì)講解了Entity?Framework生成DataBase?First模式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03