ASP.NET Web Forms 自学篇:(十六) 数据库连接

ASP.NET Web Forms - 数据库连接


下一篇:ASP.NET Web Forms 自学篇:(十七) 母版页

上一篇:ASP.NET Web Forms 自学篇:(十五) DataList 控件


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>

运行结果:
在这里插入图片描述


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

下一篇:ASP.NET Web Forms 自学篇:(十七) 母版页

上一篇:ASP.NET Web Forms 自学篇:(十五) DataList 控件


友情链接:

ASP.NET MVC零基础自学篇:(一)ASP.NET MVC简介

ASP.NET Razor篇——标记

C#将Excel表格内容导入数据库–ASP.NET MVC

JQuery ajax 实现关闭弹窗,刷新列表

ASP.NET MVC的 Action跳转方法归纳部分

jQuery实现checkbox多选,单选与数据库交互传值,赋值整理

C# String字符串方法的使用归纳(直观,粗暴)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值