av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

經(jīng)驗(yàn)分享:ASP.NET數(shù)據(jù)庫(kù)應(yīng)用分析

ASP.NET數(shù)據(jù)庫(kù)在使用中有很多的優(yōu)勢(shì),這些已經(jīng)贏得了程序員們廣泛的青睞。現(xiàn)在,我們就具體來看看ASP.NET數(shù)據(jù)庫(kù)的應(yīng)用。

對(duì)于一個(gè)熟練的ASP開發(fā)者來說,ASP.NET數(shù)據(jù)庫(kù)的應(yīng)用不但簡(jiǎn)單,而且功能還很強(qiáng)大。很多Web開發(fā)者就是因?yàn)檫@一點(diǎn)而選擇ASP的,至今為止,他們一直認(rèn)為ASP.NET數(shù)據(jù)庫(kù)功能還不錯(cuò),完全可以滿足開發(fā)要求。

一、名字空間NameSpace

要使用ASP.NET數(shù)據(jù)庫(kù)的功能,不可能離開名字空間NameSpace的使用。什么是名字空間,簡(jiǎn)單一點(diǎn),名字空間就像Delphi中的控件,你必須將它們放入你的Form才能使用它們,同樣,如果你要使用ASP.NET數(shù)據(jù)庫(kù)的功能,你就必須先引用相應(yīng)的名字空間。ASP.NET數(shù)據(jù)庫(kù)的名字空間有這些:

 
 
 
  1. <%@ Import NameSpace="System.Data.SQL"%>   
  2.  
  3.    
  4. Function createdatasource()   
  5. Dim conn AS SQLConnection   
  6. Dim connstr As String   
  7. Dim strsql AS String   
  8. Dim sqlCmd AS SQLDataSetCommand   
  9. Dim ds AS New DataSet   
  10. '連接數(shù)據(jù)庫(kù)   
  11. connstr=   
  12. "Server=NHGA-D36KQ26TWB;DataBase=NorthWind; Pwd=;Uid=sa"   
  13. conn= New SQLConnection(connstr)   
  14. 'SQL語(yǔ)句   
  15. strsql="Select * from Products "   
  16. '建立DataSet   
  17. sqlCmd=New SQLDataSetCommand(strsql,conn)   
  18. '將表Products加入DataSet   
  19. sqlCmd.FillDataset(ds,"Products")   
  20.  
  21. return ds.Tables("Products").DefaultView   
  22. end Function   
  23.  
  24. '綁定數(shù)據(jù)函數(shù)   
  25. sub BindGrid()   
  26. DataGrid1.DataSource=CreateDataSource()   
  27. DataGrid1.DataBind()   
  28. End Sub   
  29.  
  30. '頁(yè)面登錄   
  31. Sub Page_Load(Source AS Object,E AS EventArgs)   
  32. CreatedataSource()   
  33. BindGrid()   
  34. End Sub   
  35.    
  36.  
  37.    
  38.  
  39.    
  40.    
  41.    
  42.    
  43.    
  44. ASP.NET數(shù)據(jù)庫(kù)使用   
  45.    
  46.  
  47.    
  48.    
  49.    
  50.    
  51.    
  52.  
  53.   

以上是一個(gè)最簡(jiǎn)單的ASP.NET數(shù)據(jù)庫(kù)應(yīng)用,唯一功能就是列出NorthWind數(shù)據(jù)庫(kù)Products表的所有記錄??梢院虯SP比較一下,發(fā)現(xiàn)這個(gè)程序是如此的簡(jiǎn)單。為了更好的了解數(shù)據(jù)庫(kù)應(yīng)用的基本框架,我們來看看這個(gè)數(shù)據(jù)庫(kù)應(yīng)用具體是怎樣實(shí)現(xiàn)的。

頁(yè)面登錄時(shí),調(diào)用CreateDataSource和BindGrid函數(shù),CreateDataSource函數(shù)連接數(shù)據(jù)庫(kù)并且建立DataView,BindGrid函數(shù)將數(shù)據(jù)綁定到DataGrid。有關(guān)這兩個(gè)函數(shù)的具體語(yǔ)句,代碼中均有說明。 #p#

二、基本數(shù)據(jù)庫(kù)應(yīng)用

有了以上模板,ASP.NET數(shù)據(jù)庫(kù)應(yīng)用的基本框架已經(jīng)有了,現(xiàn)在,我們需要在這個(gè)框架上作一些修改,使其更加符合我們的實(shí)際使用要求。

1.界面設(shè)置

如果我們呈現(xiàn)給訪問者的數(shù)據(jù)全部使用以上模板的界面,也未嘗不可。但是,誰不希望自己的頁(yè)面美觀一點(diǎn)呢?還是以上代碼,只是修改DataGrid部分,數(shù)據(jù)庫(kù)部分不變。將程序中:

 
 
 
  1.   

修改為:

 
 
 
  1. BorderColor="black"   
  2. BorderWidth="1"   
  3. CellPadding="3"   
  4.  
  5. BackImageUrl=""   
  6. BackColor="#FFCCCC"   
  7. ForeColor="Black"   
  8.  
  9. HeaderStyle-BackColor="#CCCCFF"   
  10. HeaderStyle-ForeColor="Blue"   
  11.  
  12. AlternatingItemStyle-BackColor="#F3f3f3"   
  13. >   
  14.   

在這個(gè)界面里面,我們?cè)O(shè)置了字體,每行背景,DataGrid背景等,我們現(xiàn)在一一分析:

 
 
 
  1. BorderColor="black"   
  2. BorderWidth="1"   
  3. CellPadding="3"  

以上語(yǔ)句設(shè)置DataGrid的邊框?yàn)楹谏?;邊框粗?xì)為1;單元格跨距為3。

 
 
 
  1. BackImageUrl="apictue.gif"   
  2. BackColor="#FFCCCC"   
  3. ForeColor="Black"  

以上語(yǔ)句設(shè)置DataGrid的背景圖象為apicture.gif;背景顏色為#FFFFCC;字體顏色為黑色。

 
 
 
  1. HeaderStyle-BackColor="#CCCCFF"   
  2. HeaderStyle-ForeColor="Blue"  

以上語(yǔ)句設(shè)置DataGrid的Header屬性,背景顏色為#CCCCFF;字體顏色為藍(lán)色。

 
 
 
  1. AlternatingItemStyle-BackColor="#F3f3f3"  

以上語(yǔ)句設(shè)置DataGrid每一行交替背景顏色為F3F3F3;這一語(yǔ)句在ASP里面實(shí)現(xiàn)很繁瑣,在這里,一句就解決。

2.數(shù)據(jù)分頁(yè)

ASP里面的數(shù)據(jù)分頁(yè)實(shí)在繁瑣,不得不花很多精力去寫代碼。一些程序員就是因?yàn)檫@一點(diǎn),如果數(shù)據(jù)不是太多干脆不分頁(yè),勉強(qiáng)應(yīng)付。現(xiàn)在我們?cè)僖膊灰獮閿?shù)據(jù)分頁(yè)煩惱了,將一下代碼加入DataGrid設(shè)置:

 
 
 
  1. AllowPaging="True"   
  2. PageSize="5"   
  3. PagerStyle-HorizontalAlign="Right"   
  4. PagerStyle-NextpageText="下一頁(yè) >>"   
  5. PagerStyle-PrevPageText="<< 上一頁(yè)"  

這就是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)分頁(yè),是不是比ASP簡(jiǎn)單得多?我們來仔細(xì)看一下代碼是怎樣的:

 
 
 
  1. AllowPaging="True"  

以上代碼允許數(shù)據(jù)進(jìn)行分頁(yè),默認(rèn)是False。所以,如果你要數(shù)據(jù)分頁(yè),一定要加上這一句。

 
 
 
  1. PageSize="5"  

PageSize和ASP中的一樣,表示每頁(yè)有多少記錄。

 
 
 
  1. PagerStyle-HorizontalAlign="Right"  

以上語(yǔ)句表示分頁(yè)符在頁(yè)面的位置的右邊。

 
 
 
  1. PagerStyle-NextpageText="下一頁(yè) >>"   
  2. PagerStyle-PrevPageText="<< 上一頁(yè)"  

以上語(yǔ)句表示用“下一頁(yè)”、“上一頁(yè)”作為分頁(yè)符號(hào),如果不希望這樣,想直接用數(shù)字表示,去掉這兩句就可以了。

注意:與分頁(yè)有關(guān)的還有PageCount屬性,可以得到分頁(yè)的總數(shù)。

3.數(shù)據(jù)排序

數(shù)據(jù)排序不是在SQL語(yǔ)句里面就可以設(shè)定嗎,為什么還要專門來一個(gè)數(shù)據(jù)排序?SQL語(yǔ)句的數(shù)據(jù)排序只能服務(wù)器端設(shè)定,如果用戶希望按照自己的喜好排序怎么辦?ASP里面是沒有辦法解決的,現(xiàn)在,我們看看ASP.NET數(shù)據(jù)庫(kù)怎樣解決這個(gè)問題。

在DataGrid設(shè)置里面加入一下語(yǔ)句:

 
 
 
  1. AllowSorting="true"   
  2. OnSortCommand="Sort_Grid"  

***句表示DataGrid采用要求排序;第二句表示點(diǎn)擊排序以后的事件;我們來看看這個(gè)事件:

 
 
 
  1. Sub Sort_Grid(Sender As Object,E As DataGridSort CommandEventArgs)   
  2. SortField=E.SortField   
  3. DataGrid1.DataSource=CreateDataSource()   
  4. DataGrid1.DataBind()   
  5. End Sub  

點(diǎn)擊排序以后,首先,設(shè)置排序字段為點(diǎn)擊的字段,如何重新顯示數(shù)據(jù)。

每一個(gè)字段名均是一個(gè)LinkButton(連接),點(diǎn)擊這個(gè)字段名,就可以按這個(gè)字段排序。需要注意的是,排序不是對(duì)當(dāng)前頁(yè)排序,而是對(duì)整個(gè)DataGrid排序。

4.數(shù)據(jù)編輯

數(shù)據(jù)庫(kù)操作除了數(shù)據(jù)瀏覽,***部分其實(shí)就是對(duì)數(shù)據(jù)的處理(增加、修改、刪除)。數(shù)據(jù)處理,ASP.NET數(shù)據(jù)庫(kù)和ASP沒有太多的區(qū)別,我們看一個(gè)增加數(shù)據(jù)的例子就可以了解ASP.NET數(shù)據(jù)庫(kù)編輯的實(shí)現(xiàn)了。

 
 
 
  1. Sub InsertRec()   
  2. Dim conn AS SQLConnection   
  3. Dim connstr As String   
  4. Dim sqlinsertcmd AS SQLCommand   
  5. Dim sqlinsert AS String   
  6.  
  7. connstr="Server=NHGA-D36KQ26TWB;DataBase=My Base;Pwd=;Uid=sa"   
  8. conn= New SQLConnection(connstr)   
  9.  
  10. sqlinsert="Insert Into MyTable(title,name,content)Values (@title,@name,@content)"   
  11. sqlinsertcmd=New SQLCommand(sqlinsert,conn)   
  12.  
  13. sqlinsertcmd.parameters.Add(New SQLParameter("@title", SQLDataType.varchar,20))   
  14. sqlinsertcmd.parameters.Add(New SQLParameter("@name", SQLDataType.varchar,20))   
  15. sqlinsertcmd.parameters.Add(New SQLParameter ("@content", SQLDataType.varchar,20))   
  16.  
  17. sqlinsertcmd.parameters.item("@title").value="Test3"   
  18. sqlinsertcmd.parameters.item("@name").value="Test3"   
  19. sqlinsertcmd.parameters.item("@content").value="Test3"   
  20.  
  21. conn.open()   
  22. sqlinsertcmd.execute()   
  23.  
  24. End Sub 

上面代碼中,首先創(chuàng)建一個(gè)ASP.NET數(shù)據(jù)庫(kù)連接,然后建立了一個(gè)插入語(yǔ)句,此插入語(yǔ)句使用了以@開頭的參數(shù),這一點(diǎn)可能與ASP稍有差別。使用參數(shù)之前,必須先創(chuàng)建參數(shù),并要說明參數(shù)的數(shù)據(jù)類型。如何打開連接,執(zhí)行插入語(yǔ)句就可以了。

以上我們?cè)O(shè)計(jì)到了ASP.NET數(shù)據(jù)庫(kù)操作中常用的部分,基本可以實(shí)現(xiàn)我們一般編程要求。但是,如果要全面了解ASP.NET數(shù)據(jù)庫(kù)的功能,以上顯然是不夠的,這需要我們更加不斷地學(xué)習(xí)其他ASP.NET數(shù)據(jù)庫(kù)的知識(shí),融會(huì)貫通。


當(dāng)前文章:經(jīng)驗(yàn)分享:ASP.NET數(shù)據(jù)庫(kù)應(yīng)用分析
網(wǎng)頁(yè)路徑:http://uogjgqi.cn/article/cogeshd.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流