ADO世界之FIRST

目录

一、ADO 简介

二、ADO 数据库连接

1.创建一个 DSN-less 数据库连接

2.创建一个 ODBC 数据库连接

3.到 MS Access 数据库的 ODBC 连接

4.ADO 连接对象(ADO Connection Object)

三、ADO Recordset(记录集)

1.创建一个 ADO 表记录集(ADO Table Recordset)

2.创建一个 ADO SQL 记录集 (ADO SQL Recordset)

3.从记录集中提取数据

4.ADO 记录集对象(ADO Recordset Object)

四、ADO 显示

1.显示字段名称和字段值

2.在一个 HTML 表格中显示字段名称和字段的值

3.向 HTML 表格添加标题

4.向 HTML 表格添加颜色

五、ADO 查询

1.显示选定的数据

2.仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录

3.仅显示 "Customers" 表中的西班牙客户

4.让用户根据国别来选择客户


一、ADO 简介

①ADO自述:

1.ADO 是一项微软的技术

2.ADO 是一个微软的 Active-X 组件

3.ADO 是一个访问数据库中数据的编程接口

4.ADO 指 ActiveX 数据对象(ActiveX Data Objects)

5.ADO 被用于从网页访问数据库

6.ADO 会随微软的 IIS 被自动安装

②从一个 ASP 页面内部访问数据库的通常的方法是:

1.创建一个到数据库的 ADO 连接

2.打开数据库连接

3.创建 ADO 记录集

4.从记录集提取您需要的数据

5.关闭记录集

6.关闭连接

二、ADO 数据库连接

在从某个网页访问数据之前,必须先建立一个数据库连接。

1.创建一个 DSN-less 数据库连接

连接到某一个数据库的最简单的方法是使用一个 DSN-less 连接。DSN-less 连接可被用于您的站点上的任何微软 Access 数据库。

假设您拥有一个名为 "northwind.mdb" 的数据库位于 "c:/webdata/" 的 web 目录中,您可以使用下面的 ASP 代码连接到此数据库:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

%>

注意,在上面的例子中,您必须规定微软的 Access 数据库驱动程序(Provider),以及此数据库在计算机上的物理路径。

2.创建一个 ODBC 数据库连接

假设您拥有一个名为 "northwind" 的 ODBC 数据库,您可以使用下面的 ASP 代码连接到此数据库:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Open "northwind"

%>

通过一个 ODBC 连接,您可以连接到您的网络中任何计算机上的任何数据库,只要 ODBC 连接是可用的。

3.到 MS Access 数据库的 ODBC 连接

如何创建到一个 MS Access 数据库的连接:

1.打开控制面板中的 ODBC 图标

2.选择系统 ODBC 选项卡

3.点击 ODBC 选项卡中的添加按钮

4.选择 Driver to Microsoft Access,然后点击完成按钮

5.在下一个窗口中点击“选择”按钮来定位数据库

6.为此数据库赋予一个数据源名称(Data Source Name,DSN)

7.点击"确定"

注:此配置必须在您的网站所在的计算机上完成。假如您正在自己的计算机上运行PWS或者IIS,此架构是可以运行的,但是假如您的网站位于一台远程的服务器,您就必须拥有此服务器的物理访问权限,或者请您的 web 主机提供商为您做这些事情。

4.ADO 连接对象(ADO Connection Object)

ADO 连接对象用来创建到某个数据源的开放连接。通过此连接,您可以对此数据库进行访问和操作,查看此连接对象的所有方法和属性。

三、ADO Recordset(记录集)

如需读取数据库的数据,那么其中的数据必须首先被载入一个记录集中。

1.创建一个 ADO 表记录集(ADO Table Recordset)

假设有一个名为 "Northwind" 的数据库,通过下面的代码访问数据库中的 "Customers" 表:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

rs.Open "Customers", conn

%>

2.创建一个 ADO SQL 记录集 (ADO SQL Recordset)

使用 SQL 访问 "Customers" 表中的数据:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

rs.Open "Select * from Customers", conn

%>

3.从记录集中提取数据

假设用一个名为 "Northwind" 的数据库,通过下面的代码访问数据库中 "Customers" 表:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

rs.Open "Select * from Customers", conn

for each x in rs.fields

   response.write(x.name)

   response.write(" = ")

   response.write(x.value)

next

%>

4.ADO 记录集对象(ADO Recordset Object)

ADO Recordset 对象可被用来容纳来自数据库表的记录集。

查看 ADO Recordset 对象的所有方法和属性。

四、ADO 显示

显示来自记录集中的数据的最常用的方法,就是把数据显示在 HTML 表格中。

1.显示字段名称和字段值

一个名为 "Northwind" 的数据库,显示出 "Customers" 表中的数据(记得以 .asp 为扩展名来保存这个文件):

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")

rs.Open "SELECT * FROM Customers", conn

do until rs.EOF

  for each x in rs.Fields

    Response.Write(x.name)

    Response.Write(" = ")

    Response.Write(x.value & "<br />")

  next

  Response.Write("<br />")

  rs.MoveNext

loop

rs.close

conn.close

%>

</body>

</html>

2.在一个 HTML 表格中显示字段名称和字段的值

通过下面的代码把表 "Customers" 中的数据显示在一个 HTML 表格中:

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")

rs.Open "SELECT Companyname, Contactname FROM Customers", conn

%>

<table border="1" width="100%">

<%do until rs.EOF%>

   <tr>

   <%for each x in rs.Fields%>

      <td><%Response.Write(x.value)%></td>

   <%next

   rs.MoveNext%>

   </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

3.向 HTML 表格添加标题

为这个 HTML 表格添加标题:

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers"

rs.Open sql, conn

%>

<table border="1" width="100%">

  <tr>

  <%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

  next%>

  </tr>

  <%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

      <td><%Response.Write(x.value)%></td>

    <%next

    rs.MoveNext%>

    </tr>

  <%loop

  rs.close

  conn.close

  %>

</table>

</body>

</html>

4.向 HTML 表格添加颜色

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers"

rs.Open sql, conn

%>

<table border="1" width="100%" bgcolor="#fff5ee">

<tr>

<%for each x in rs.Fields

    response.write("<th align='left' bgcolor='#b0c4de'>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

       <td><%Response.Write(x.value)%></td>

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

五、ADO 查询

使用 SQL 来创建查询,指定仅查看选定的记录和字段。

1.显示选定的数据

仅显示 "Customers" 表的 "Companyname" 字段中以 A 开头的记录:

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers

WHERE CompanyName LIKE 'A%'"

rs.Open sql, conn

%>

<table border="1" width="100%">

  <tr>

  <%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

  next%>

  </tr>

  <%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

      <td><%Response.Write(x.value)%></td>

    <%next

    rs.MoveNext%>

    </tr>

  <%loop

  rs.close

  conn.close%>

</table>

</body>

</html>

2.仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers WHERE CompanyName>'E'"

rs.Open sql, conn

%>

<table border="1" width="100%">

<tr>

<%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

       <td><%Response.Write(x.value)%> </td>

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

3.仅显示 "Customers" 表中的西班牙客户

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers WHERE Country='China'"

rs.Open sql, conn

%>

<table border="1" width="100%">

<tr>

<%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

       <td><%Response.Write(x.value)%> </td>

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

4.让用户根据国别来选择客户

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs=Server.CreateObject("ADODB.recordset")

sql="SELECT DISTINCT Country FROM Customers ORDER BY Country"

rs.Open sql,conn

country=request.form("country")

%>

<form method="post">

Choose Country <select name="country">

<%  do until rs.EOF

    response.write("<option")

    if rs.fields("country")=country then

      response.write(" selected")

    end if

    response.write(">")

    response.write(rs.fields("Country"))

    rs.MoveNext

loop

rs.Close

set rs=Nothing %>

</select>

<input type="submit" value="Show customers">

</form>

<%

if country<>"" then

   sql="SELECT Companyname,Contactname,Country FROM Customers WHERE country='" & country & "'"

   set rs=Server.CreateObject("ADODB.Recordset")

   rs.Open sql,conn

%>

   <table width="100%" cellspacing="0" cellpadding="2" border="1">

   <tr>

     <th>Companyname</th>

     <th>Contactname</th>

     <th>Country</th>

   </tr>

<%

do until rs.EOF

   response.write("<tr>")

   response.write("<td>" & rs.fields("companyname") & "</td>")

   response.write("<td>" & rs.fields("contactname") & "</td>")

   response.write("<td>" & rs.fields("country") & "</td>")

   response.write("</tr>")

   rs.MoveNext

loop

rs.close

conn.Close

set rs=Nothing

set conn=Nothing%>

</table>

<%  end if %>

</body>

</html>

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳阳大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值