ASP编程:ASP 3.0初级编程(三十九)
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。编程|初级8.4.3创立纪录集创立一个纪录集非常简单,经由过程挪用Recordset工具的Open办法来完成:
Recordset.Open,,,,
其参数及申明如表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>下一页
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
页:
[1]