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

首頁 > 學院 > 開發設計 > 正文

ASP.NET數據庫應用指南

2019-11-18 20:37:22
字體:
來源:轉載
供稿:網友
對于一個熟練的asp開發者來說,ASP的數據庫應用不但簡單,而且功能還很強大。很多WEB開發者就是因為這一點而選擇ASP的,至今為止,他們一直認為ASP數據庫功能還不錯,完全可以滿足開發要求。但是,對于一個剛剛學習ASP或者對HTML不是很熟悉的用戶來說,ASP的數據庫應用實在是太麻煩了:寫程序時ASP代碼穿插于HTML代碼之間,修改和檢測極不方便;寫程序一點沒有編寫傳統程序的感覺,感覺就像是寫HTML一樣;數據分頁不方便,而且不明白為什么要那么繁瑣,簡直每一頁直接數數據差不多。這些麻煩,每一個ASP開發者都曾經經歷,那么,現在,asp.net的學習者,就再也不會面對這些了,他們可以很快捷的開發數據庫應用,而且程序性能比以前高的多。現在,我們就具體來看看ASP.NET的數據庫應用。 
 
一:名字空間NameSpace 
要使用ASP.NET的數據庫功能,不可能離開名字空間NameSpace的使用。什么是名字空間,說理論可以說半天,我們沒必要了解,簡單一點,名字控件就像Delphi中的控件,你必須將它們放入你的Form才能使用他們,同樣,如果你要使用ASP.NET的數據庫功能,你就必須先引用相應的名字空間。ASP.NET中關于數據庫的名字空間有這些: 



上面說到了ADO+,它是ADO的下一代,就像ASP.NET是ASP的下一代,相對于ADO,ADO+有以下特點: 
一) 支持xml; 
二) 更好的性能; 
三) 方便的編程接口; 
 
名字空間的具體使用如下: 
<%@ Import NameSpace=”名字空間”%> 
 
舉例: 
<%@ Import NameSpace=”System.Data”%> 
 
應該注意一點,以上代碼必須在頁面頂端。 
 
二:基本概念 
在使用ASP.NET以前,還必須了解一些基本概念: 
ADOConnection:相當于ASP中的數據庫Connection; 
ADOCommand:相當于ASP中的數據庫Command; 
DataView:相當于ASP的ADO記錄集RecordSet; 
DataSet:多個數據表的集合; 
 
以上概念實在是比較抽象,如果現在不理解,不要緊,現照著使用,以后慢慢就會理解。 
 
三:數據庫基本使用樣板 
看了一大堆概念,現在先來看一個實例(為了方便,直接使用SQL Server自帶的NorthWind數據庫),本文章以后舉例,均以此樣板為基礎,請大家一定掌握: 
 
<%@ Import NameSpace="System.Data"%> 
<%@ Import NameSpace="System.Data.SQL"%> 
 
<Scr</Form> 
</body> 
 
</html> 
 
執行以上程序,效果如下: 



(程序執行效果)
 
 
以上是一個最簡單的ASP.NET數據庫應用,唯一功能就是列出NorthWind數據庫Products表的所有記錄。可以和ASP比較一下,發現這個程序是如此的簡單。為了更好的了解數據庫應用的基本框架,我們來看看這個數據庫應用具體是怎樣實現的。 
 
頁面登錄時,調用CreateDataSource和BindGrid函數,CreateDataSource函數連接數據庫并且建立DataView,BindGrid函數將數據綁定到DataGrid。有關這兩個函數的具體語句,代碼中均有說明。 
 
四:基本數據庫應用 
有了以上

</ASP:DataGrid> 
你將得到以下效果: 



(程序執行效果)
 
在這個界面里面,我們設置了
頁面效果如下: 



(程序執行效果)
 
這就是一個標準的數據分頁,是不是比ASP簡單的多?我們來仔細看一下代碼是怎樣的: 
AllowPaging="True" 
以上代碼允許數據進行分頁,默認是False。所以,如果你要數據分頁,一定要加上這一句; 
PageSize="5" 
PageSize和ASP中的一樣,表示每頁有多少記錄; 
PagerStyle-HorizontalAlign="Right" 
以上語句表示分頁符在頁面的位置的右邊。 
PagerStyle-NextpageText="下一頁 >>" 
PagerStyle-PrevPageText="<< 上一頁" 
以上語句表示用“下一頁”“上一頁”作為分頁符號,如果不希望這樣,想直接用數字表示,去掉這兩句就可以了。 
注意: 
與分頁有關的還有PageCount屬性,可以得到分頁的總數; 
 
三)數據排序 
數據排序不是在SQL語句里面就可以設定嗎,為什么還要專門來一個數據排序?SQL語句的數據排序只能服務器端設定,如果用戶希望按照自己的喜好排序怎么辦?ASP里面是沒有辦法解決的,現在,我們看看ASP.NET怎樣解決這個問題。 
在DataGrid設置里面加入一下語句: 
AllowSorting="true" 
OnSortCommand="Sort_Grid" 
第一句表示DataGrid采用要求排序;第二局表示點擊排序以后的事件;我們來看看這個事件: 
Sub Sort_Grid(Sender As Object,E As DataGridSortCommandEventArgs) 
SortField=E.SortField  
DataGrid1.DataSource=CreateDataSource() 
DataGrid1.DataBind() 
End Sub 
點擊排序以后,首先,設置排序字段為點擊的字段,如何重新顯示數據。效果如下: 



(程序執行效果)
 
如上圖,每一個字段名均是一個LinkButton(連接),點擊這個字段名,就可以按這個字段排序。需要注意的是,排序不是對當前頁排序,而是對整個DataGrid排序。 
 
四) 數據編輯 
數據庫操作出了數據瀏覽,最大部分其實就是對數據的處理(增加,修改,刪除)。數據處理,ASP.NET和ASP沒有太多的區別,我們看一個增加數據的例子就可以了解ASP.NET的數據編輯的實現了。 
Sub InsertRec()  
Dim conn AS SQLConnection 
Dim connstr As String 
Dim sqlinsertcmd AS SQLCommand 
Dim sqlinsert AS String 
 
connstr="Server=NHGA-D36KQ26TWB;DataBase=MyBase;Pwd=;Uid=sa" 
conn= New SQLConnection(connstr) 
 
sqlinsert="Insert Into MyTable(title,name,content) Values(@title,@name,@content)" 
sqlinsertcmd=New SQLCommand(sqlinsert,conn) 
 
sqlinsertcmd.parameters.Add(New SQLParameter("@title",SQLDataType.varchar,20)) 
sqlinsertcmd.parameters.Add(New SQLParameter("@name",SQLDataType.varchar,20)) 
sqlinsertcmd.parameters.Add(New SQLParameter("@content",SQLDataType.varchar,20)) 
 
sqlinsertcmd.parameters.item("@title").value="Test3" 
sqlinsertcmd.parameters.item("@name").value="Test3" 
sqlinsertcmd.parameters.item("@content").value="Test3" 
 
conn.open() 
sqlinsertcmd.execute() 
 
End Sub 
 
以上代碼中,首先創建一個數據庫連接,然后建立了一個插入語句,此插入語句使用了以@開頭的參數,這一點可能與ASP稍有差別。使用參數之前,必須先創建參數,并要說明參數的數據類型。如何打開連接,執行插入語句就可以了。 
 
五:總結 
以上我們設計到了ASP.NET數據庫操作中常用的部分,基本可以實現我們一般編程要求。但是,如果要全面了解ASP.NET的數據庫功能,以上顯然是不夠的,這需要我們更加不斷地學習其他ASP.NET的知識,融會貫通。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双辽市| 沧源| 新余市| 长宁县| 来宾市| 徐汇区| 苗栗市| 康定县| 乌拉特中旗| 十堰市| 江川县| 怀柔区| 含山县| 烟台市| 龙泉市| 突泉县| 阳曲县| 大荔县| 昌平区| 富阳市| 崇信县| 泗洪县| 新建县| 措美县| 勐海县| 都兰县| 木兰县| 沅陵县| 巍山| 南和县| 锡林郭勒盟| 巨野县| 马公市| 安多县| 南部县| 肇庆市| 介休市| 福清市| 增城市| 叙永县| 桐梓县|