ASP.NET編程工具ASP.NET Web Matrix詳細(xì)介紹
ASP.NET Web Matrix是微軟***推出的ASP.NET編程工具,該工具功能全面,使用也比較輕便、靈活。我們現(xiàn)在來看看使用怎樣這個工具設(shè)計結(jié)合數(shù)據(jù)的網(wǎng)頁。
ASP.NET編程工具ASP.NET Web Matrix使用一、建立數(shù)據(jù)庫
ASP.NET Web Matrix現(xiàn)在支持微軟的SQL Server,也支持自帶的一個簡單桌面數(shù)據(jù)庫MSDE,這個簡單數(shù)據(jù)庫和SQL Server的個人版有點類似,可以免費下載。為了說明這個數(shù)據(jù)庫的使用,我們首先到微軟網(wǎng)站下載這個免費的數(shù)據(jù)庫工具。
在沒有安裝以上數(shù)據(jù)庫的情況下,ASP.NET Web Matrix的“數(shù)據(jù)”面板是沒有數(shù)據(jù)庫的(圖一),在ASP.NET Web Matrix中,當(dāng)用戶點擊“Data”選項卡的時候,ASP.NET Web Matrix會給出一個要求安裝數(shù)據(jù)庫的提示
這時候,我們可以安裝SQL桌面數(shù)據(jù)庫或者免費下載微軟的MSDE數(shù)據(jù)庫來進行安裝。當(dāng)安裝完成以后,我們就可以在這個本地數(shù)據(jù)庫或者在遠程的SQL數(shù)據(jù)庫服務(wù)器建立數(shù)據(jù)表,然后通過ASP.NET對這些數(shù)據(jù)進行具體的操作。
安裝MSDE完成以后,再一次點擊ASP.NET Web Matrix 的“Data”面板,就可以建立數(shù)據(jù)庫了
因為建立、操作數(shù)據(jù)庫的方式和使用SQL Server安全相同,我們在這里就不詳細(xì)介紹具體操作了,在這里,我們建立一個名為Orders的數(shù)據(jù)庫
經(jīng)過以上設(shè)置以后,ASP.NET Web Matrix就可以順利進行數(shù)據(jù)庫的操作了,以下的程序我們都將針對以上的數(shù)據(jù)庫、數(shù)據(jù)表進行操作。使用SQL Server的用戶,在本地安裝桌面SQL Server就可以直接連接遠程數(shù)據(jù)庫了,一般個人應(yīng)用或者學(xué)習(xí)使用,直接用微軟的MSDE就可以完全達到要求,畢竟SQL Serer的價格和管理都不是個人用戶可以輕易達到的。
ASP.NET編程工具ASP.NET Web Matrix使用二、用ASP.NET操作數(shù)據(jù)庫
建立數(shù)據(jù)庫以后,我們就可以進行數(shù)據(jù)庫操作了,以下我們將分幾個類型介紹數(shù)據(jù)庫的操作,力求全面的介紹ASP.NET Web Matrix數(shù)據(jù)庫操作的精華。
1、簡單數(shù)據(jù)發(fā)布
我們知道,最簡單的也是最基本的數(shù)據(jù)庫操作就是數(shù)據(jù)表信息的發(fā)布。這里,我們首先將以上Orders數(shù)據(jù)庫的Orders表信息簡單的通過ASP.NET發(fā)布到網(wǎng)頁。
在ASP.NET Web Matrix中,MXDataGrid服務(wù)器控件是專門顯示來自數(shù)據(jù)庫等數(shù)據(jù)源的數(shù)據(jù)表格控件,我們可以在設(shè)計或者程序運行的時候?qū)⒖丶壎ǖ綌?shù)據(jù)源來顯示數(shù)據(jù),這里,我們就使用MXDataGrid服務(wù)器控件來顯示數(shù)據(jù)。
(1)在ASP.NET Web Matrix中,選擇“File”->“New”,出現(xiàn)“New File”對話框;
(2)在出現(xiàn)的對話框中,選擇“General”面板;
(3)選擇“ASP.NET Page”;
(4)在“Location”輸入框輸入新建立的文件路徑;
(5)在“FileName”輸入框輸入新建立的文件名“myFirstDataGrid.aspx”;
(6)在“Language”下拉框選擇“Visual Basic”作為ASP.NET開發(fā)語言;
(7)點擊“OK”按鈕;
(8)這樣,文件“myFirstDataGrid.aspx”就會在ASP.NET Web Matrix的“Design”視圖中出現(xiàn)
(9)在工作窗口中選擇“Data”選項頁;
(10)點擊選項頁上部的數(shù)據(jù)庫標(biāo)志,出現(xiàn)數(shù)據(jù)庫選擇界面,這里我們選擇本地的“Orders”數(shù)據(jù)庫。
(11)回到工作窗口,選擇“Orders”表,用鼠標(biāo)左鍵點擊該表,將其拖到ASP.NET頁面;
(12)這樣,在設(shè)計視圖,我們將看到SQLDataSourceControl和MXDataGrid兩個控件出現(xiàn)在ASP.NET頁面
在這里,我們注意幾點,一是ASP.NET Web Matrix會工具指定的數(shù)據(jù)庫自動設(shè)置SQLDataSourceControl的屬性;二是ASP.NET Web Matrix將自動把MXDataGrid和SQLDataSourceControl綁定;
(13)保存并且運行這個文件,我們剛才設(shè)計的myFirstDataGrid.aspx將自動顯示在瀏覽器中,這個頁面包含了Orders表的所有數(shù)據(jù),如果數(shù)據(jù)庫中的數(shù)據(jù)超過10行的話,MxDataGrid將每頁顯示10行并自動對數(shù)據(jù)進行分頁,在頁面的下放會出現(xiàn)頁面的鏈接;
通過以上的操作,數(shù)據(jù)表Ordrs的內(nèi)容就自動通過網(wǎng)頁發(fā)布了,以上步驟看上去很多,其實具體設(shè)計的時候,就會很簡單了。在這個簡單的程序中,我們不需要編寫一行代碼就建立了一個自動分頁的數(shù)據(jù)發(fā)布頁面。
2、格式化MXDataGrid
上面我們使用了MxDataGrid的默認(rèn)樣式來發(fā)布數(shù)據(jù)表Orders的數(shù)據(jù),盡管這個樣式還不錯,但是,顯然我們不可能長期只使用這個默認(rèn)的設(shè)置來顯示數(shù)據(jù),所以,這一節(jié)我們將學(xué)習(xí)怎樣格式化MXDataGrid。
(1)打開剛才我們設(shè)計的“myFirstDataGrid.aspx”;
(2)選擇MxDataGrid控件;
(3)在“Properties”(屬性)窗口中選擇“AllowPaging”屬性;
(4)將MxDataGrid的“AllowPaging”屬性設(shè)置為“False”,這一屬性將設(shè)置MxDataGrid是否具備數(shù)據(jù)分頁功能,這里我們設(shè)置為“False”
(5)然后,在“Properties”(屬性)窗口中選擇“Fields”屬性;
(6)出現(xiàn)“Collection Editor”對話框 在這里,我們將具體設(shè)置有關(guān)MXDataGrid數(shù)據(jù)字段顯示的一些屬性;
(7)將“HeaderText”屬性的“OrderID”修改為“編號”;
(8)點擊“Ok”按鈕,保存并且運行這個頁面;
(9)通過這些設(shè)置,我們看到MXDataGrid中原來的OrderID列標(biāo)頭已經(jīng)改變?yōu)椤熬幪枴?/P>
3、使用Data Code Builder
顯然,以上我們介紹的數(shù)據(jù)庫功能只能完成我們實際開發(fā)工作的很小部分,要設(shè)計比較完善的數(shù)據(jù)庫應(yīng)用,我們需要更加強大的功能。Code Builder就是可以滿足這種要求,它是在代碼生成器的基礎(chǔ)上設(shè)計的,目的在于幫助用戶設(shè)計一些日常常見的功能模塊。ASP.NET Web Matrix本身已經(jīng)帶有一些Code Builder,包括一些專門用于數(shù)據(jù)庫設(shè)計的Code Builder。在下面的文章中,我們將介紹使用Select Code Builder來設(shè)計一個簡單的搜索數(shù)據(jù)庫功能?,F(xiàn)在我們就來一步步實現(xiàn)這個功能。
(1)建立一個新的ASP.NET頁面,語言選擇為VB,文件名為myFirstDataPage.aspx;
(2)在設(shè)計視圖中,從“Web Control”選項頁選擇一個“TextBox”、一個“DataGrid”、一個“Button”控件到設(shè)計頁面在這里注意一點就是,這里我們選擇的是“DataGrid”控件,不是“MXDatGrid”控件;
(3)以上是“Design”設(shè)計視圖的設(shè)計,現(xiàn)在,我們點擊“Code”選項卡選擇代碼視圖;
(4)在代碼視圖的左邊,我們可以看到有“Toolbox”列,那里就有Code Builder選項卡,在Code Builder選項卡,我們選擇“Select”拖到設(shè)計區(qū);我們看到,這里其實不止“Select”一個選項,還有其他“Insert”、“Delete”等,也就是說,基本上常見的數(shù)據(jù)庫操作,都可以通過這里介紹的方法來完成。
(5)這時候,我們看到“Connect Database”對話框出現(xiàn)了,我們在這里選擇“LocalHost”服務(wù)器中的“Orders”數(shù)據(jù)庫;
(6)這時候出現(xiàn)了名為“Construct Select Query”(建立數(shù)據(jù)庫選擇)的Code Builder向?qū)Вā癈ode Builder Wizard”)
(7)在以上界面的左邊“Tables”選擇我們需要查詢的數(shù)據(jù)表,這里,我們選擇“Orders”數(shù)據(jù)表;在右邊的“Columns”可以選擇需要查詢的數(shù)據(jù)列,在需要查詢的數(shù)據(jù)列前面打勾,如果需要查詢所有數(shù)據(jù)列,可以選擇“*”也可以點擊按鈕“Slect All”,這里,我們選擇“*”;這時候,我們可以看到在以上界面的“Preview”部分已經(jīng)出現(xiàn)了部分“Select”語句“SELECT [Orders].* FROM [Orders]”,我們看到是標(biāo)準(zhǔn)的Select查詢語句;
(8)點擊以上界面的“Where”按鈕,出現(xiàn)設(shè)置“Where”語句的“Where Clause Builder”界面,這個界面分左右兩個部分,左邊是Where語句等于號的左邊,右邊是Where語句等于號的右邊,在左邊的“Columns”列我們選擇“OrderID”,在右邊的“Filter”過濾輸入框,我們輸入“@OrderID”,這樣設(shè)置的意思是查詢“OrderID”等于變量“OrderID”的所有數(shù)據(jù)記錄,點擊“OK”按鈕,回到前面的界面,我們可以看到Select語句已經(jīng)改變?yōu)椋篠ELECT [Orders].* FROM [Orders] WHERE ([Orders].[OrderID] = @OrderID);
(9)在界面“Construct Select Query”選擇按鈕“Next”進入下一個Code Builder Wizard,那就是查詢語句的“Preview”;
(10)在出現(xiàn)的“Query Preview”界面點擊“Text Query”按鈕來檢測前面設(shè)計的查詢語句,會出現(xiàn)一個設(shè)置@OrderID數(shù)值的對話框,我們這里設(shè)置為“1”;這里的意思就是選擇OrderId為1的數(shù)據(jù)行;
(11)點擊以上界面的“OK”按鈕,我們就可以直接看到查詢結(jié)果了
(12)以上我們看到了查詢語句測試運行的結(jié)果是準(zhǔn)確無誤的,進一步點擊按鈕“Next”;出現(xiàn)Code Builder Wizard的第三步,再這里,我們需要設(shè)置查詢函數(shù)的名字和查詢使用的方式;在這里,我們可以選擇“DataSet”和“DataReader”兩者方式來實現(xiàn)數(shù)據(jù)查詢;
(13)在以上界面,我們選擇“DataSet”方式來查詢數(shù)據(jù),點擊按鈕“Finish”結(jié)束向?qū)?,這時候,我們可以看到“Code”視圖已經(jīng)增加了一個函數(shù),這個函數(shù)就是剛才我們通過向?qū)Ы⒌摹癕yQueryMethod”函數(shù);
- Function MyQueryMethod(ByVal orderID As Integer) As System.Data.DataSet
- Dim connectionString As String = "server='localhost'; trusted_connection=true; Database='Orders'"
- Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
- Dim queryString As String = "SELECT [Orders].* FROM [Orders] WHERE ([Orders].[OrderID] = @OrderID)"
- Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)
- sqlCommand.Parameters.Add("@OrderID", System.Data.SqlDbType.Int).Value = orderID
- Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(sqlCommand)
- Dim dataSet As System.Data.DataSet = New System.Data.DataSet
- dataAdapter.Fill(dataSet)
- Return dataSet
- End Function
(14)點擊“Design”選項卡回到設(shè)計視圖,雙擊我們增加的“Button”按鈕,轉(zhuǎn)到“Code”代碼設(shè)計窗口;
(15)在代碼設(shè)計視圖增加以下按鈕事件代碼:
- Sub Button1_Click(sender As Object, e As EventArgs)
- DataGrid1.DataSource =MyQueryMethod(CInt(TextBox1.Text))
- DataGrid1.DataBind()
- End Sub
ASP.NET編程工具ASP.NET Web Matrix的相關(guān)介紹就到這里,希望通過介紹使你能夠了解ASP.NET編程工具ASP.NET Web Matrix的基本情況。
【編輯推薦】