ASP.NET 数据库连接

asp.net web forms - 数据库连接

ado.net 也是 .net 框架的组成部分。ado.net 用于处理数据访问。通过 ado.net,您可以操作数据库。

examples

尝试一下 - 实例

数据库连接 - 绑定到 datalist 控件

数据库连接 - 绑定到 repeater 控件

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

关闭数据库连接

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

dbread.close()
dbconn.close()

相关文章