ASP 3.0高级编程(三十九)

嘎哈V型

嘎哈V型

2016-01-29 19:13

ASP 3.0高级编程(三十九),ASP 3.0高级编程(三十九)
  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
展开更多 50%)
分享

猜你喜欢

ASP 3.0高级编程(三十九)

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

ASP 3.0高级编程(十九)

ASP
ASP 3.0高级编程(十九)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP 3.0高级编程(二十九)

ASP
ASP 3.0高级编程(二十九)

ASP 3.0高级编程(五)

ASP
ASP 3.0高级编程(五)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP 3.0高级编程(六)

ASP
ASP 3.0高级编程(六)

ASP 3.0高级编程(九)

ASP
ASP 3.0高级编程(九)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ASP 3.0高级编程(五)

ASP 3.0高级编程(五)

Photoshop教程:运用通道给人物去斑改善皮肤

Photoshop教程:运用通道给人物去斑改善皮肤
下拉加载更多内容 ↓