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

首頁 > 編程 > .NET > 正文

通過ADO.NET訪問數據庫

2024-07-10 13:02:47
字體:
來源:轉載
供稿:網友
通過ado.net訪問數據庫

作者:不詳  
--------------------------------------------------------------------------------



ado.net訪問數據庫的步驟
不論從語法來看,還是從風格和設計目標來看,ado.net都和ado有顯著的不同。在asp中通過ado訪問數據庫,一般要通過以下四個步驟:
1、 創建一個到數據庫的鏈路,即ado.connection;
2、 查詢一個數據集合,即執行sql,產生一個recordset;
3、 對數據集合進行需要的操作;
4、 關閉數據鏈路。
在ado.net里,這些步驟有很大的變化。ado.net的最重要概念之一是dataset。dataset是不依賴于數據庫的獨立數據集合。所謂獨立,就是:即使斷開數據鏈路,或者關閉數據庫,dataset依然是可用的。如果你在asp里面使用過非連接記錄集合(connectionless recordset),那么dataset就是這種技術的最徹底的替代品。
有了dataset,那么,ado.net訪問數據庫的步驟就相應地改變了:
1、 創建一個數據庫鏈路;
2、 請求一個記錄集合;
3、 把記錄集合暫存到dataset;
4、 如果需要,返回第2步;(dataset可以容納多個數據集合)
5、 關閉數據庫鏈路;
6、 在dataset上作所需要的操作。
dataset在內部是用xml來描述數據的。由于xml是一種平臺無關、語言無關的數據描述語言,而且可以描述復雜數據關系的數據,比如父子關系的數據,所以dataset實際上可以容納具有復雜關系的數據,而且不再依賴于數據庫鏈路。
ado.net對象模型概覽
adoconnection
ado.net有許多對象。我們先看看最基本的也最常用的幾個。首先看看adoconnection。和ado的adodb.connection對象相對應,adoconnection維護一個到數據庫的鏈路。為了使用ado.net對象,我們需要引入兩個namespace:system.data和system.data.ado,使用asp.net的import指令就可以了:
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.ado" %>
和ado的connection對象類似,adoconnection對象也有open和close兩個方法。下面的這個例子展示了如何連接到本地的ms sql server上的pubs數據庫。
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.ado" %>
<%
 ''設置連接串...
 dim strconnstring as string
 strconnstring = "provider=sqloledb; data source=(local); " & _
         "initial catalog=pubs; user id=sa"
 ''創建對象adoconnection
 dim objconn as adoconnection
 objconn = new adoconnection
 ''設置adoconnection對象的連接串
 objconn.connectionstring = strconnstring
 objconn.open() ''打開數據鏈路
 ''數據庫操作代碼省略
 objconn.close()  ''關閉數據鏈路
 objconn = nothing ''清除對象
%>
上面的代碼和ado沒有什么太大的差別。應該提到的是,ado.net提供了兩種數據庫連接方式:ado方式和sql方式。這里我們是通過ado方式連接到數據庫。關于建立數據庫連接的詳細信息,我們在后面的篇幅中將會講到。
adodatasetcommand
另一個不得不提到的ado.net對象是adodatasetcommand。這個對象專門負責創建我們前面提到的dataset對象。另一個重要的ado.net對象是dataview,它是dataset的一個視圖。還記得dataset可以容納各種各種關系的復雜數據嗎?通過dataview,我們可以把dataset的數據限制到某個特定的范圍。
下面的代碼展示了如何利用adodatasetcommand為dataset填充數據:
 ''創建sql字符串
 dim strsql as string = "select * from authors"
 ''創建對象adodatasetcommand 和dataset
 dim objdscommand as adodatasetcommand
 dim objdataset as dataset = new dataset
 objdscommand = new adodatasetcommand(strsql, objconn)
 ''填充數據到dataset
 ''并將數據集合命名為 "author information"
 objdscommand.filldataset(objdataset, "author information")
顯示dataset
前面我們已經把數據準備好。下面我們來看看如何顯示dataset中的數據。在asp.net中,顯示dataset的常用控件是datagrid,它是asp.net中的一個html控件,可以很好地表現為一個表格,表格的外觀可以任意控制,甚至可以分頁顯示。這里我們只需要簡單地使用它:
<asp:datagrid id="datagridname" runat="server"/>
剩下的任務就是把dataset綁定到這個datagrid。綁定是asp.net的重要概念,我們將另文講解。一般來說,你需要把一個dataview綁定到datagrid,而不是直接綁定dataset。好在dataset有一個缺省的dataview,下面我們就把它和datagrid綁定:
  myfirstdatagrid.datasource = _
     objdataset.tables("author information").defaultview
  myfirstdatagrid.databind()
完整的代碼(122301.aspx)
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.ado" %>
<%
 ''設置連接串...
 dim strconnstring as string
 strconnstring = "provider=sqloledb; data source=(local); " & _
         "initial catalog=pubs; user id=sa"
 ''創建對象adoconnection
 dim objconn as adoconnection
 objconn = new adoconnection
 ''設置adoconnection對象的連接串
 objconn.connectionstring = strconnstring
 objconn.open() ''打開數據鏈路
 ''創建sql字符串
 dim strsql as string = "select * from authors"
 ''創建對象adodatasetcommand 和dataset
 dim objdscommand as adodatasetcommand
 dim objdataset as dataset = new dataset
 objdscommand = new adodatasetcommand(strsql, objconn)
 ''填充數據到dataset
 ''并將數據集合命名為 "author information"
 objdscommand.filldataset(objdataset, "author information")
 objconn.close()  ''關閉數據鏈路
 objconn = nothing ''清除對象
 authors.datasource = _
     objdataset.tables("author information").defaultview
 authors.databind()
%>
<html>
<body>
<asp:datagrid id="authors" runat="server"/>
</body>
</html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 英山县| 寿光市| 正安县| 阳信县| 德阳市| 陵水| 汉源县| 新宁县| 佳木斯市| 上饶市| 怀安县| 巩义市| 西林县| 宜宾市| 屏东县| 渭源县| 独山县| 兴安县| 九江市| 思南县| 珲春市| 鄂伦春自治旗| 盐源县| 沂南县| 巴中市| 秦安县| 凭祥市| 邻水| 牙克石市| 韩城市| 柳林县| 鄂托克前旗| 车致| 德令哈市| 高雄市| 汉源县| 台东县| 林口县| 孟州市| 洛川县| 叙永县|