ADO.NET 同样是 .NET 框架的组成部分。
ADO.NET 的职能是处理数据访问。通过 ADO.NET,您就可以操作数据库了。
实例 数据库连接 - 绑定到 Repeater 控件 数据库连接 - 绑定到 DataList 控件
什么是 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 类赋值给这个变量,
这个 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>
创建 DataReader 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>
绑定到 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>
关闭数据库连接 在不在需要访问数据库后,请记得始终将 DataReader 和数据库连接关闭:
dbread.Close()
dbconn.Close()