自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 后端
本文介紹了ASP.NET數(shù)據(jù)庫的具體應用,由于ASP.NET數(shù)據(jù)庫與ASP相比還是有很多不同的,所以在具體應用方面仍有很多地方需要特別注意。

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

對于一個熟練的ASP開發(fā)者來說,ASP.NET數(shù)據(jù)庫的應用不但簡單,而且功能還很強大。很多Web開發(fā)者就是因為這一點而選擇ASP的,至今為止,他們一直認為ASP.NET數(shù)據(jù)庫功能還不錯,完全可以滿足開發(fā)要求。

一、名字空間NameSpace

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

  1. <%@ Import NameSpace="System.Data.SQL"%>   
  2.  
  3. <Script Language="VB" RunAt="Server">   
  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ù)庫   
  11. connstr=   
  12. "Server=NHGA-D36KQ26TWB;DataBase=NorthWind; Pwd=;Uid=sa"   
  13. conn= New SQLConnection(connstr)   
  14. 'SQL語句   
  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. '頁面登錄   
  31. Sub Page_Load(Source AS Object,E AS EventArgs)   
  32. CreatedataSource()   
  33. BindGrid()   
  34. End Sub   
  35. </Script>   
  36.  
  37. <html>   
  38.  
  39. <head>   
  40. <meta http-equiv="Content-Language" content="zh-cn">   
  41. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
  42. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">   
  43. <meta name="ProgId" content="FrontPage.Editor.Document">   
  44. <title>ASP.NET數(shù)據(jù)庫使用</title>   
  45. </head>   
  46.  
  47. <body>   
  48. <Form RunAt="Server">   
  49. <ASP:DataGrid id="DataGrid1" RunAt="Server" />   
  50. </Form>   
  51. </body>   
  52.  
  53. </html>  

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

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

二、基本數(shù)據(jù)庫應用

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

1.界面設(shè)置

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

  1. <ASP:DataGrid id="DataGrid1" RunAt="Server" />  

修改為:

  1. <ASP:DataGrid id="DataGrid1" RunAt="Server"   
  2. BorderColor="black"   
  3. BorderWidth="1"   
  4. CellPadding="3"   
  5.  
  6. BackImageUrl=""   
  7. BackColor="#FFCCCC"   
  8. ForeColor="Black"   
  9.  
  10. HeaderStyle-BackColor="#CCCCFF"   
  11. HeaderStyle-ForeColor="Blue"   
  12.  
  13. AlternatingItemStyle-BackColor="#F3f3f3"   
  14. >   
  15. </ASP:DataGrid>  

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

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

以上語句設(shè)置DataGrid的邊框為黑色;邊框粗細為1;單元格跨距為3。

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

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

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

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

  1. AlternatingItemStyle-BackColor="#F3f3f3"  

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

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

ASP里面的數(shù)據(jù)分頁實在繁瑣,不得不花很多精力去寫代碼。一些程序員就是因為這一點,如果數(shù)據(jù)不是太多干脆不分頁,勉強應付?,F(xiàn)在我們再也不要為數(shù)據(jù)分頁煩惱了,將一下代碼加入DataGrid設(shè)置:

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

這就是一個標準的數(shù)據(jù)分頁,是不是比ASP簡單得多?我們來仔細看一下代碼是怎樣的:

  1. AllowPaging="True"  

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

  1. PageSize="5"  

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

  1. PagerStyle-HorizontalAlign="Right"  

以上語句表示分頁符在頁面的位置的右邊。

  1. PagerStyle-NextpageText="下一頁 >>"   
  2. PagerStyle-PrevPageText="<< 上一頁"  

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

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

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

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

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

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

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

  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  

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

每一個字段名均是一個LinkButton(連接),點擊這個字段名,就可以按這個字段排序。需要注意的是,排序不是對當前頁排序,而是對整個DataGrid排序。

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

數(shù)據(jù)庫操作除了數(shù)據(jù)瀏覽,***部分其實就是對數(shù)據(jù)的處理(增加、修改、刪除)。數(shù)據(jù)處理,ASP.NET數(shù)據(jù)庫和ASP沒有太多的區(qū)別,我們看一個增加數(shù)據(jù)的例子就可以了解ASP.NET數(shù)據(jù)庫編輯的實現(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)建一個ASP.NET數(shù)據(jù)庫連接,然后建立了一個插入語句,此插入語句使用了以@開頭的參數(shù),這一點可能與ASP稍有差別。使用參數(shù)之前,必須先創(chuàng)建參數(shù),并要說明參數(shù)的數(shù)據(jù)類型。如何打開連接,執(zhí)行插入語句就可以了。

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

【編輯推薦】

  1. ASP.NET數(shù)據(jù)庫編程入門
  2. 專題:ASP.NET數(shù)據(jù)庫開發(fā)手冊
  3. ASP.NET數(shù)據(jù)庫程序開發(fā)步驟
  4. ASP.NET與MySQL數(shù)據(jù)庫開發(fā)詳解
  5. ASP.NET數(shù)據(jù)庫緩存淺析
責任編輯:林琳 來源: 企業(yè)博客
相關(guān)推薦

2009-02-23 15:20:03

SQL Server數(shù)據(jù)庫ASP.NET

2009-07-31 09:57:47

ASP.NET數(shù)據(jù)庫緩

2009-07-28 17:36:21

ASP.NET數(shù)據(jù)庫連

2011-07-07 09:03:12

ASP.NET

2009-07-29 09:12:31

ASP.NET數(shù)據(jù)庫連

2009-08-11 12:52:05

ASP.NET數(shù)據(jù)庫程

2009-08-05 15:40:49

ASP.NET連接數(shù)據(jù)

2009-07-27 17:58:10

ASP.NET數(shù)據(jù)庫編

2010-05-25 08:49:33

連接MySQL

2009-07-28 14:16:31

ASP.NET與MyS

2011-04-13 14:19:52

Asp.Net.Net

2009-07-20 15:30:11

ASP.NET應用

2009-07-27 16:37:42

ASP.NET主機

2009-07-31 16:51:59

ASP.NET數(shù)據(jù)庫驅(qū)

2011-07-12 14:37:47

ASP.NET鏈接字符串

2009-07-29 09:33:14

ASP.NET數(shù)據(jù)庫連

2010-06-07 14:34:49

連接MySQL 數(shù)據(jù)庫

2009-07-20 17:03:55

批量插入數(shù)據(jù)ASP.NET

2011-08-01 23:34:34

ASP.NETOracle

2009-07-31 17:07:40

ASP.NET數(shù)據(jù)庫連
點贊
收藏

51CTO技術(shù)棧公眾號