ADO.NET 也是 .NET 框架的组成部分。ADO.NET 用于处理数据访问。通过 ADO.NET,您可以操作数据库。
数据库连接 - 绑定到 DataList 控件
- <%@ 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("/db/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>
- <!DOCTYPE html>
- <html>
- <body>
- <form runat="server">
- <asp:DataList
- id="customers"
- runat="server"
- cellpadding="2"
- cellspacing="2"
- borderstyle="inset"
- backcolor="#e8e8e8"
- width="100%"
- headerstyle-font-name="Verdana"
- headerstyle-font-size="12pt"
- headerstyle-horizontalalign="center"
- headerstyle-font-bold="True"
- itemstyle-backcolor="#778899"
- itemstyle-forecolor="#ffffff"
- footerstyle-font-size="9pt"
- footerstyle-font-italic="True">
- <HeaderTemplate>
- Customers Table
- </HeaderTemplate>
- <ItemTemplate>
- <%#Container.DataItem("companyname")%> in
- <%#Container.DataItem("address")%>, <%#Container.DataItem("city")%>
- </ItemTemplate>
- <FooterTemplate>
- Source: Northwind Database
- </FooterTemplate>
- </asp:DataList>
- </form>
- </body>
- </html>
数据库连接 - 绑定到 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("/db/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>
- <!DOCTYPE html>
- <html>
- <body>
- <form runat="server">
- <asp:Repeater id="customers" runat="server">
- <HeaderTemplate>
- <table border="1" width="100%">
- <tr bgcolor="#b0c4de">
- <th>Companyname</th>
- <th>Contactname</th>
- <th>Address</th>
- <th>City</th>
- </tr>
- </HeaderTemplate>
- <ItemTemplate>
- <tr bgcolor="#f0f0f0">
- <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>
在我们的实例中,我们将使用 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>
注释:这个连接字符串必须是没有折行的连续字符串!
为了指定需从数据库取回的记录,我们将创建一个 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 类用于从数据源中读取记录流。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()