ASP 3.0高级编程(三十九)

2016-01-29 19:13 9 1 收藏

ASP 3.0高级编程(三十九),ASP 3.0高级编程(三十九)

【 tulaoshi.com - ASP 】

  8.4.3 创建记录集
       创建一个记录集十分容易,通过调用Recordset对象的Open方法来实现:
       Recordset.Open [Source], [ActiveConnection], [CursorType], [LockType], [Options]
       其参数及说明如表8-3所示:
表8-3  Open方法的参数及说明
参 数
说 明

Source
数据源。可以是数据库中的表名、存储的查询或过程、SQL字符串、Command对象或适用于提供者的其他命令对象

ActiveConnection
记录集使用的连接。可以是一个连接字符串或者一个打开的Connection对象

CursorType
使用的光标类型。必须是定义的光标类型中的一种,缺省值为adForwardOnly

LockType
使用的锁定类型。必须是定义的锁定类型中的一种,缺省值为adLockReadOnly

Options
告诉提供者Source参数的内容是什么,如表、文本字符串等等

例如,要打开数据库pubs中authors表上的记录集:
Dim rsAuthors

Set rsAuthors = Server.CreateObject("ADODB.Recordset")

rsAuthors.Open "authors", strConn

' Do something here

rsAuthors.Close
Set rsAuthors = Nothing
注意,有几个参数没有指定。实际上,所有的参数都是可选的,可以在打开记录集之前为它们设置相应的属性值:
Dim rsAuthors

Set rsAuthors = Server.CreateObject("ADODB.Recordset")

With rsAuthors
       .Source = "authors"
       .ActiveConnection = strConn
       .CursorType = adOpenForwardOnly
       .LockType = adLockReadOnly
       .Open
End With

' Do something here

rsAuthors.Close
Set rsAuthors = Nothing
一旦打开记录集,当前指针自动地位于第一条记录上。如果在记录集中没有记录,那么EOF和BOF属性都是True:
rsAuthors.Open "authors", strConn

If rsAuthors.BOF and rsAuthors.EOF Then
       ' Recordset is empty
End If
1.       Options参数
Open方法的Options参数允许指定命令文本内容。它可以是以下CommandTypeEnum常数之一:
· adCmdText:文本命令,比如SQL字符串。
· adCmdTable:表名。
· adCmdStoredProc:存储过程名。
· adCmdFile:保存的记录集的文件名。
· adCmdTableDirect:表名。
· adCmdURLBind:URL地址。
adCmdTable与adCmdTableDirect的区别很小,如果想使用表中的全部列,使用adCmdTableDirect将由于ADO执行了某些内部优化而使运行速度变得稍快一些。
如果没有指定命令的类型,ADO必须推算出执行的命令的类型,这将导致额外的开销。
这里还有两个选项:adCmdUnspecified表示没有指定类型;adCmdUnknow表示命令的类型未知。一般地可能不会使用它们。
额外的选项
Options参数可以是以上常数中的任一个,但也可以加入下列ExecuteOptionEnum常数:
· adAsyncExcute:异步地执行命令。
· adAsyncFetch:取得初始的行集后,异步地获取剩下的行。
· adAsyncFetchBlocking:除了获取记录不阻止命令运行以外,其他与adAsyncFetch相似。
· adExechteNoRecords:命令不返回任何记录。
异步处理意味着在后台执行操作,可以运行命令,然后继续其他工作,而不需要等待其执行完毕(同步操作)。当创建用户界面时,这显得特别方便,因为可以从命令执行中返回,向用户显示一些内容,而同时数据的获取仍然在后台进行。当返回记录集时,这对ASP程序员来说不是很有用,因为脚本语言不支持ADO事件,所以记录集何时已完成填充移无法得知。当处理更新、删除或插入数据命令以及不返回记录集的时候,可以使用异步操作,即仅在不关心结果的情况下才能使用。
在另一方面,adExecuteNoRecords选项十分有用。它告诉ADO执行的命令不返回任何数据。所以,就没有必要创建记录集(总之,可能为空)。这会加速正在运行的更新或添加数据的查询操作。
为了加入这些选项之一,可以使用Or符号(等同于加号“+”)
adCmdStoredProc Or adExecuteNoRecords

adCmdStoreProc + adExecuteNoRecords
在下一章,将看到对相关内容更详细的介绍,因为这在处理命令(而不是记录集)时会更有用。
2.       在记录集中移动
一旦打开一个记录集,经常需要遍历每一条记录。这需要使用EOF属性。当到达记录集的末尾时,EOF就变为True,因为可以这样创建一个循环:
rsAuthors.O

来源:http://www.tulaoshi.com/n/20160129/1508790.html

延伸阅读
标签: ASP
  使用ServerVariables集合     当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。为显示 ServerVariables集合中值的使用方式,在Request Object页面(...
标签: ASP
  3.3 ASP的Application对象和Session对象        本章已经讨论了两个ASP对象:Application对象和Session对象,因此能够访问Application对象和Session对象提供的集合、方法、属性和事件。本节将从程序设计的角度对这两个对象进行研究。         · ...
标签: ASP
  1.3   ASP Server对象 正像在前面看到的那样,通过服务器端包含的经ISAPI访问Web服务器的页面,用传统动态页面指令和命令可以做相当多的事情。但同时也有一些明显的限制。 例如,可以从Request.ServerVariables集合检索到所有随同客户端的请求发送过来的HTTP报头的值。它几乎可以与使用SSI #echo匹敌,同时具备的主要优...
标签: ASP
  (4)  删除虚拟应用程序 单击“Remove”按钮不会真正地删除Internet Services Manager中的该条目。而是把现有的虚拟应用程序转换为一个虚拟目录。这个目录有一个带有蓝色球的“文件夹”图标,该图标表示这并不是Web网站中一个真正的目录,而是对磁盘上另一个文件夹的一个重定向。对它进行的访问方式与创建它的虚拟应...
标签: ASP
  第四章      服务器进程和ASP Server对象 前面的章节已经研究了ASP的一些内置对象。重点介绍的对象有Request、Response、Session和Application对象。ASP中另一个比较主要的对象为Server对象。本章重点介绍这个对象的背景知识和使用方法。 Server对象在服务器端脚本中通过实例和使用其他外部对象和组件,...

经验教程

189

收藏

48

精华推荐

ASP 3.0高级编程(一)

ASP 3.0高级编程(一)

cheneyfanpku

ASP 3.0高级编程(三)

ASP 3.0高级编程(三)

老天72

ASP 3.0高级编程(十四)

ASP 3.0高级编程(十四)

go忧伤渲染流年

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部