前面講了DataList控件下面我們開始講如何與數據庫進行鏈接。
ADO.NET 同樣是 .NET 框架的組成部分。ADO.NET 的職能是處理數據訪問。通過 ADO.NET,您就可以操作數據庫了。
我們計劃使用曾經使用過的 Northwind 數據庫。看到本信息,說明該文章來源於網頁教學網www.webjx.com,如果文章不完整請到網頁教學網webjx.com浏覽!
首先,導入命名空間 "System.Data.OleDb"。我們需要該命名空間,以便可以操作 Microsoft Access 以及其他的 OLE DB 數據庫提供者。我們將在 Page_Load 子例程中創建對此數據庫的連接。我們創建了一個 dbconn 變量,並把新的 OleDbConnection 類賦值給這個變量,這個 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>
注釋:這個連接字符串必須是沒有折行的連續字符串!本信息代表文章來源網頁教學webjx.com請大家去www.webjx.com浏覽!
為了指定需從數據庫取回的記錄,我們將創建一個 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>
OleDbDataReader 類用於從數據源中讀取記錄流。通過調用 OleDbCommand 對象的 ExecuteReader 方法,就可以創建 DataReader:
<%@ 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 控件:看到本信息說明該文是通過網頁教學(webjx.com)整理發布的,請不要刪掉!
<%@ 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()