ASP.NET 數據庫連接
asp.net web forms - 數據庫連接
ado.net 也是 .net 框架的組成部分。ado.net 用于處理數據訪問。通過 ado.net,您可以操作數據庫。

嘗試一下 - 實例
什么是 ado.net?
- ado.net 是 .net 框架的組成部分
- ado.net 由一系列用于處理數據訪問的類組成
- ado.net 完全基于 xml
- ado.net 沒有 recordset 對象,這一點與 ado 不同
創建數據庫連接
在我們的實例中,我們將使用 northwind 數據庫。
首先,導入 "system.data.oledb" 命名空間。我們需要這個命名空間來操作 microsoft access 和其他 ole db 數據庫提供商。我們將在 page_load 子例程中創建這個數據庫的連接。我們創建一個 dbconn 變量,并為其賦值一個新的 oledbconnection 類,這個類帶有指示 ole db 提供商和數據庫位置的連接字符串。然后我們打開數據庫連接:
<%@ import namespace="system.data.oledb" %>
<script runat="server">
sub page_load
dim dbconn
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
end sub
</script>
<script runat="server">
sub page_load
dim dbconn
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
end sub
</script>
注釋:這個連接字符串必須是沒有折行的連續字符串!
創建數據庫命令
為了指定需從數據庫取回的記錄,我們將創建一個 dbcomm 變量,并為其賦值一個新的 oledbcommand 類。這個 oledbcommand 類用于發出針對數據庫表的 sql 查詢:
<%@ import namespace="system.data.oledb" %>
<script runat="server">
sub page_load
dim dbconn,sql,dbcomm
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
sql="select * from customers"
dbcomm=new oledbcommand(sql,dbconn)
end sub
</script>
<script runat="server">
sub page_load
dim dbconn,sql,dbcomm
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
sql="select * from customers"
dbcomm=new oledbcommand(sql,dbconn)
end sub
</script>
創建 datareader
oledbdatareader 類用于從數據源中讀取記錄流。datareader 是通過調用 oledbcommand 對象的 executereader 方法來創建的:
<%@ import namespace="system.data.oledb" %>
<script runat="server">
sub page_load
dim dbconn,sql,dbcomm,dbread
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
sql="select * from customers"
dbcomm=new oledbcommand(sql,dbconn)
dbread=dbcomm.executereader()
end sub
</script>
<script runat="server">
sub page_load
dim dbconn,sql,dbcomm,dbread
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
sql="select * from customers"
dbcomm=new oledbcommand(sql,dbconn)
dbread=dbcomm.executereader()
end sub
</script>
綁定到 repeater 控件
然后,我們綁定 datareader 到 repeater 控件:
實例
<%@ import namespace="system.data.oledb" %>
<script runat="server">
sub page_load
dim dbconn,sql,dbcomm,dbread
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
sql="select * from customers"
dbcomm=new oledbcommand(sql,dbconn)
dbread=dbcomm.executereader()
customers.datasource=dbread
customers.databind()
dbread.close()
dbconn.close()
end sub
</script>
<html>
<body>
<form runat="server">
<asp:repeater id="customers" runat="server">
<headertemplate>
<table border="1" width="100%">
<tr>
<th>companyname</th>
<th>contactname</th>
<th>address</th>
<th>city</th>
</tr>
</headertemplate>
<itemtemplate>
<tr>
<td><%#container.dataitem("companyname")%></td>
<td><%#container.dataitem("contactname")%></td>
<td><%#container.dataitem("address")%></td>
<td><%#container.dataitem("city")%></td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>
</form>
</body>
</html>
<script runat="server">
sub page_load
dim dbconn,sql,dbcomm,dbread
dbconn=new oledbconnection("provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.open()
sql="select * from customers"
dbcomm=new oledbcommand(sql,dbconn)
dbread=dbcomm.executereader()
customers.datasource=dbread
customers.databind()
dbread.close()
dbconn.close()
end sub
</script>
<html>
<body>
<form runat="server">
<asp:repeater id="customers" runat="server">
<headertemplate>
<table border="1" width="100%">
<tr>
<th>companyname</th>
<th>contactname</th>
<th>address</th>
<th>city</th>
</tr>
</headertemplate>
<itemtemplate>
<tr>
<td><%#container.dataitem("companyname")%></td>
<td><%#container.dataitem("contactname")%></td>
<td><%#container.dataitem("address")%></td>
<td><%#container.dataitem("city")%></td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>
</form>
</body>
</html>
關閉數據庫連接
如果不再需要訪問數據庫,請記得關閉 datareader 和數據庫連接:
dbread.close()
dbconn.close()
dbconn.close()