QQ测试群:4910001、9701760,欢迎加入!学习和讨论QA、软件测试、网站测试、性能、自动化测试等技术,以及招聘测试相关工作。

2011-5-10学习笔记【ADO教程】

上一篇 / 下一篇  2011-05-10 17:50:09 / 个人分类:学习笔记

2011-5-11学习内容【ADO教程】

ADO,指ActiveX数据对象(ActiveX Data Objects)

方法:
1、创建一个到数据库的ADO连接
2、打开数据库连接
3、创建ADO记录集
4、从记录集里提取需要的数据
5、关闭记录集
6、关闭连接

创建一个DSN-Less数据库连接
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "c:/database.mdb"
%>

创建一个ODBC数据库连接
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "databasename"
%>


ADO连接对象(ADO Connection Object)

ADO Recordset(记录集)


创建一个ADO表记录集(ADO Table Recordset)
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/database.mdb"

set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Customers', conn
%>


创建一个ADO SQL记录集(ADO SQL Recordset)
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/database.mdb"

set rs=Server.CreateObject("ADODB.recodeset")
rs.Open "select * from Customers", conn
%>


从记录集中提取数据
<%
set conn=Server.CreateObjcet("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/database.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
%>

ADO记录集对象(ADO Recordset Object)
ADO Recordset对象可被用来容纳来自数据库表的记录集。
查看ADO Recordset对象的所有方法和属性。
显示来自记录集中的数据的最常用的方法,就是把数据显示在HTML表格中。

实例
显示记录
如何首先创建一个数据库连接,然后创建一个记录集,然后把其中的数据显示在HTML中。
在 HTML 表格中显示记录
如何把数据表中的数据显示在HTML表格中。
向 HTML 表格添加标题
如何向HTML表格添加标题,以使其可读性更强。
向 HTML 表格添加颜色
如何向HTML表格添加颜色,以使其更加美观。

EOF(End Of File)

2011-5-11学习内容【ADO教程】

http://www.w3school.com.cn/ado

ADO查询

实例
显示 "Companyname" 以 A 开头的记录
如何仅仅显示 "Customers" 表的 "Companyname" 字段中以 A 开头的记录。
显示 "Companyname" 大于 E 的记录
如何仅仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录。
仅显示西班牙的客户
如何仅仅显示 "Customers" 表中的西班牙客户。
让用户来选择筛选标准
让用户根据国别来选择客户

sql="SELECT Companyname, Contactname FROM Customers
WHERE CompanyName LIKE 'A%'"


ADO 排序

实例
根据指定的字段名处对记录进行升序排序
如何根据指定字段名对数据进行排序
根据指定的字段名处对记录进行降序排序
如何根据指定字段名对数据进行排序
让用户来选择根据哪列进行排序
让用户来选择根据哪列进行排序

sql="SELECT Companyname, Contactname FROM
Customers ORDER BY CompanyName"


ADO 添加记录

使用 SQL 的 INSERT INTO 命令向数据库中的表添加记录。
sql="INSERT INTO customers (customerID,companyname,"


ADO 更新记录

使用 SQL 的 UPDATE 来更新数据库表中的某条记录
sql="UPDATE customers SET "


ADO 删除记录

使用 SQL 的 DELETE 命令来删除数据库表中的某条记录。
sql="DELETE FROM customers"


ADO 通过 GetString() 加速脚本

GetString() 方法
GetString() 方法使我们有能力仅使用一次 Response.Write,就可以显示所有的字符串。同时它

甚至不需要 do..loop 代码以及条件测试来检查记录集是否处于 EOF。

语法

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

如需使用来自记录集的数据创建一个 HTML 表格,我们仅仅需要使用以上参数中的三个(所有的

参数都是可选的):

coldel - 用作列分隔符的 HTML
rowdel - 用作行分隔符的 HTML
nullexpr - 当列为空时所使用的 HTML

注释:GetString() 方法是 ADO 2.0 的特性。您可从下面的地址下载 ADO 2.0:

http://www.microsoft.com/data/download.htm


ADO Command 对象【属性、方法、事件、集合等,自己看一下,用的时候现查,不需要记的。】

ADO Command 对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、

删除或更新记录等动作。

如果该查询用于取回数据,此数据将以一个 RecordSet 对象返回。这意味着被取回的数据能够被

RecordSet 对象的属性、集合、方法或事件进行操作。

Command 对象的主要特性是有能力使用存储查询和带有参数的存储过程。

ProgID
set bjCommand=Server.CreateObject("ADODB.command")

 

ADO Connection 对象

ADO Connection 对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据

库进行访问和操作。

如果需要多次访问某个数据库,您应当使用 Connection 对象来建立一个连接。您也可以经由一

个 Command 或 Recordset 对象传递一个连接字符串来创建某个连接。不过,此类连接仅仅适合

一次具体的简单的查询。

ProgID
set bjConnection=Server.CreateObject("ADODB.connection")

 

 

ADO Error 对象

ADO Error 对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。

ADO 会因每次错误产生一个 Error 对象。每个 Error 对象包含具体错误的详细信息,且 Error

对象被存储在 Errors 集合中。要访问这些错误,就必须引用某个具体的连接。

循环遍历 Errors 集合:

<%
for each objErr in objConn.Errors
  response.write("<p>")
  response.write("Description: ")
  response.write(objErr.Description & "<br />")
  response.write("Help context: ")
  response.write(objErr.HelpContext & "<br />")
  response.write("Help file: ")
  response.write(objErr.HelpFile & "<br />")
  response.write("Native error: ")
  response.write(objErr.NativeError & "<br />")
  response.write("Error number: ")
  response.write(objErr.Number & "<br />")
  response.write("Error source: ")
  response.write(objErr.Source & "<br />")
  response.write("SQL state: ")
  response.write(objErr.SQLState & "<br />")
  response.write("</p>")
next
%>

语法
objErr.property


ADO Field 对象

ADO Field 对象包含有关 Recordset 对象中某一列的信息。Recordset 中的每一列对应一个

Field 对象。

ProgID
set bjField=Server.CreateObject("ADODB.field")


ADO Parameter 对象

ADO Parameter 对象可提供有关被用于存储过程或查询中的一个单个参数的信息。

Parameter 对象在其被创建时被添加到 Parameters 集合。Parameters 集合与一个具体的

Command 对象相关联,Command 对象使用此集合在存储过程和查询内外传递参数。

参数被用来创建参数化的命令。这些命令(在它们已被定义和存储之后)使用参数在命令执行前

来改变命令的某些细节。例如,SQL SELECT 语句可使用参数定义 WHERE 子句的匹配条件,而使

用另一个参数来定义 SORT BY 子句的列的名称。

有四种类型的参数:input 参数、output 参数、input/output 参数 以及 return 参数。

语法
objectname.property
objectname.method


ADO Property 对象

ADO 对象有两种类型的属性:内置属性和动态属性。

内置属性是在 ADO 中实现并立即可用于任何新对象的属性,此时使用 MyObject.Property 语法

。它们不会作为 Property 对象出现在对象的 Properties 集合中,因此,虽然可以更改它们的

值,但无法更改它们的特性。

ADO Property 对象表示 ADO 对象的动态特性,这种动态特性是被 provider 定义的。

每个与 ADO 对话的 provider 拥有不同的方式与 ADO 进行交互。所以,ADO 需要通过某种方式

来存储有关 provider 的信息。解决方法是 provider 为 ADO 提供具体的信息(动态属性)。

ADO 把每个 provider 属性存储在一个 Property 对象中,而 Property 对象相应地也被存储在

Properties 集合中。此集合会被分配到 Command 对象、Connection 对象、Field 对象 或者

Recordset 对象。

例如,指定给提供者的属性可能会指示 Recordset 对象是否支持事务或更新。这些附加的属性将

作为 Property 对象出现在该 Recordset 对象的 Properties 集合中。

ProgID
set bjProperty=Server.CreateObject("ADODB.property")


ADO Record 对象

Record 对象 (ADO version 2.5)
ADO Record 对象用于容纳记录集中的一行、或文件系统的一个文件或一个目录。

ADO 2.5 之前的版本仅能够访问结构化的数据库。在一个结构化的数据库中,每个表在每一行均

有确切相同的列数,并且每一列都由相同的数据类型组成。

Record 对象允许访问行与行之间的列数且/或数据类型不同的数据集。

语法
objectname.property
objectname.method


ADO Recordset 对象

实例
GetRows
本例演示如何使用 GetRows 方法。
-------------------------------
Recordset 对象
ADO Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字

段)组成。

在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。

ProgID
set bjRecordset=Server.CreateObject("ADODB.recordset") 当您首次打开一个 Recordset 时

,当前记录指针将指向第一个记录,同时 BOF 和 EOF 属性为 False。如果没有记录,BOF 和

EOF 属性为 True。

Recordset 对象能够支持两种更新类型:

立即更新 - 一旦调用 Update 方法,所有更改被立即写入数据库。批更新 - provider 将缓存多

个更改,然后使用 UpdateBatch 方法把这些更改传送到数据库。
在 ADO,定义了 4 中不同的游标(指针)类型:

动态游标 - 允许您查看其他用户所作的添加、更改和删除
键集游标 - 类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其

他用户已删除的记录。其他用户所做的数据更改仍然是可见的。
静态游标 - 提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加

、更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类

型。
仅向前游标 - 只允许在 Recordset 中向前滚动。此外,由其他用户所做的添加、更改和删除将

是不可见的。
可通过 CursorType 属性或 Open 方法中的 CursorType 参数来设置游标的类型。

注释:并非所有的提供者(providers)支持 Recordset 对象的所有方法和属性。


ADO Stream 对象

Stream 对象 (ADO version 2.5)
ADO Stream 对象用于读写以及处理二进制数据或文本流。

Stream 对象可通过三种方法获得:

通过指向包含二进制或文本数据的对象(通常是文件)的 URL。此对象可以是简单的文档、表示

结构化文档的 Record 对象或文件夹。
通过将 Stream 对象实例化。这些 Stream 对象可用来存储用于应用程序的数据。跟与 URL 相关

联的 Stream 或 Record 的默认 Stream 不同,实例化的 Stream 在默认情况下与基本源没有关

联。
通过打开与 Record 对象相关联的默认 Stream 对象。打开 Record 时便可获取与 Record 对象

相关联的默认流。只需打开该流便可删除一个往返过程。
语法
objectname.property
objectname.method

 

ADO 数据类型【随便看看】


您已经学习了 ADO,下一步呢?

下一步应该学习 SQL。

SQL 是一门用于访问和操作数据库系统的标准计算机语言。

SQL 语句用于检索和更新数据库中的数据。SQL 可以和这些数据库系统配合工作:MS Access,

DB2, Informix, MS SQL Server, Oracle, Sybase, 以及其他的数据库系统。


ADO 实例
http://www.w3school.com.cn/example/adoe_examples.asp


TAG:

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 3844
  • 日志数: 9
  • 建立时间: 2011-05-09
  • 更新时间: 2011-11-16

RSS订阅

Open Toolbar