最新的Web開發教程
 

ASP.NET Web窗體 - 數據庫連接


ADO.NET也是.NET Framework的一部分。 ADO.NET可用來處理數據訪問。 使用ADO.NET你可以操作數據庫。


例子

例子

數據庫連接-綁定到DataList控件

數據庫連接-綁定到Repeater控件


什麼是ADO.NET?

  • ADO.NET是.NET Framework的一部分
  • ADO.NET包括用於處理數據訪問一組類的
  • ADO.NET是完全基於XML
  • ADO.NET了,不像ADO,沒有Recordset對象

創建數據庫連接

我們將在我們的例子中使用Northwind數據庫。

首先,導入"System.Data.OleDb"命名空間。 我們需要這個命名空間與Microsoft Access和其他的OLE DB數據庫提供商合作。 我們將創建在Page_Load子程序與數據庫的連接。 我們創建一個dbconn變量與標識OLE DB提供程序和數據庫的位置連接字符串來連接新的OleDbConnection類。 然後,我們打開數據庫連接:

<%@ 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>

Note:連接字符串必須是不換行連續串!


創建數據庫命令

要指定記錄從數據庫中檢索,我們將創建一個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>

創建一個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>

綁定到一個中繼器控制

然後我們綁定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>
顯示範例»

關閉數據庫連接

始終密切雙方對數據庫的訪問後的DataReader和數據庫連接不再需要:

dbread.Close()
dbconn.Close()