ADO世界之FIRST

目录

[一、ADO 简介](#一、ADO 简介)

[二、ADO 数据库连接](#二、ADO 数据库连接)

[1.创建一个 DSN-less 数据库连接](#1.创建一个 DSN-less 数据库连接)

[2.创建一个 ODBC 数据库连接](#2.创建一个 ODBC 数据库连接)

[3.到 MS Access 数据库的 ODBC 连接](#3.到 MS Access 数据库的 ODBC 连接)

[4.ADO 连接对象(ADO Connection Object)](#4.ADO 连接对象(ADO Connection Object))

[三、ADO Recordset(记录集)](#三、ADO Recordset(记录集))

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

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

3.从记录集中提取数据

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

[四、ADO 显示](#四、ADO 显示)

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

[2.在一个 HTML 表格中显示字段名称和字段的值](#2.在一个 HTML 表格中显示字段名称和字段的值)

[3.向 HTML 表格添加标题](#3.向 HTML 表格添加标题)

[4.向 HTML 表格添加颜色](#4.向 HTML 表格添加颜色)

[五、ADO 查询](#五、ADO 查询)

1.显示选定的数据

[2.仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录](#2.仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录)

[3.仅显示 "Customers" 表中的西班牙客户](#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>

相关推荐
Nu11PointerException1 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
亦枫Leonlew2 小时前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝2 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
Ai 编码助手3 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员3 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle4 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻4 小时前
MySQL排序查询
数据库·mysql
萧鼎4 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^4 小时前
数据库连接池的创建
java·开发语言·数据库
荒川之神4 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle