Web Forms 数据库连接

什么是 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>

注释:这个连接字符串必须是没有折行的连续字符串!


创建数据库命令

为了指定需从数据库取回的记录,我们将创建一个 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>


绑定到 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>

Web Forms 数据库连接


关闭数据库连接

如果不再需要访问数据库,请记得关闭 DataReader 和数据库连接:

dbread.Close()

dbconn.Close()

相关推荐