马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。编程|初级8.4.3创立纪录集
创立一个纪录集非常简单,经由过程挪用Recordset工具的Open办法来完成:
Recordset.Open[Source],[ActiveConnection],[CursorType],[LockType],[Options]
其参数及申明如表8-3所示:
表8-3Open办法的参数及申明
参数
说明
Source
数据源。能够是数据库中的表名、存储的查询或历程、SQL字符串、Command工具或合用于供应者的其他命令工具
ActiveConnection
纪录集利用的毗连。能够是一个毗连字符串大概一个翻开的Connection工具
CursorType
利用的光标范例。必需是界说的光标范例中的一种,缺省值为adForwardOnly
LockType
利用的锁定范例。必需是界说的锁定范例中的一种,缺省值为adLockReadOnly
Options
告知供应者Source参数的内容是甚么,如表、文本字符串等等
比方,要翻开数据库pubs中authors表上的纪录集:
DimrsAuthors
SetrsAuthors=Server.CreateObject("ADODB.Recordset")
rsAuthors.Open"authors",strConn
Dosomethinghere
rsAuthors.Close
SetrsAuthors=Nothing
注重,有几个参数没有指定。实践上,一切的参数都是可选的,能够在翻开纪录集之前为它们设置响应的属性值:
DimrsAuthors
SetrsAuthors=Server.CreateObject("ADODB.Recordset")
WithrsAuthors
.Source="authors"
.ActiveConnection=strConn
.CursorType=adOpenForwardOnly
.LockType=adLockReadOnly
.Open
EndWith
Dosomethinghere
rsAuthors.Close
SetrsAuthors=Nothing
一旦翻开纪录集,以后指针主动位置于第一笔记录上。假如在纪录会合没有纪录,那末EOF和BOF属性都是True:
rsAuthors.Open"authors",strConn
IfrsAuthors.BOFandrsAuthors.EOFThen
Recordsetisempty
EndIf
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标记(同等于加号“+”)
adCmdStoredProcOradExecuteNoRecords
adCmdStoreProc+adExecuteNoRecords
鄙人一章,将看到对相干内容更具体的先容,由于这在处置命令(而不是纪录集)时会更有效。
2.在纪录会合挪动
一旦翻开一个纪录集,常常必要遍历每笔记录。这必要利用EOF属性。当抵达纪录集的开端时,EOF就变成True,由于能够如许创立一个轮回:
rsAuthors.Open"authors",strConn
WhileNotrsAuthors.EOF
Response.WritersAuthors("au_lname:)&","&_
rsAuthors("au_fname")&"<BR>"
rsAuthors.MoveNext
Wend
下面的例子一向轮回到EOF属性为True时才加入。MoveNext办法用于移到下一笔记录。
假如纪录集同意向后挪动,则可使用MovePrevious办法。在这类情形下,轮回中必要检测BOF属性值。别的分离另有挪动到第一条和最初一笔记录的MoveFirst和MoveLast办法:
rsAuthors.Open"authors",strConn,adOpenDynamic
Nowonfirstrecord
rsAuthors.MoveLast
Nowonlastrecord
rsAuthors.MovePrevious
rsAuthors.MovePrevious
Nowthreerowsfromtheendoftherecordset
rsAuthors.MoveFirst
Backatthebeginningagain
3.利用Fields汇合
Fields汇合包括纪录会合每字段(列)的Fields工具。Fields汇合是纪录集的缺省汇合,因而在会见字段时能够省略,就好像下面的While...Wend例子中的情形。因而,有多种会见字段的办法:
rsAuthors.Fields("au_lname").Value
rsAuthors("au_lname).Value
rsAuthors(1).Value
rsAuthors.Fields(1).Value
可使用字段名,或利用它在汇合中的位</p>[1][2][3][4]下一页
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 |