|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)ado明天说一下Recordset工具的属性
1、CursorType属性
AdOpenForwardOnly:仅向前游标,默许值。除只能在纪录中向前转动外,与静态游标不异。当只必要在纪录会合单向挪动时,利用它可进步功能。(望文生义,这类游标只能向前挪动。但是,因为这类游标功效无限,将它用于体系资本时长短常无效的。)
AdOpenKeyset:键集游标。只管从您的纪录集不克不及会见其他用户删除的纪录,但除没法检察其他用户增加的纪录外,键集游标与静态游标类似。仍旧能够瞥见其他用户变动的数据。(KeySet游标同意你瞥见自它创立起其他用户所做的修正,但是你却不克不及看到其他用户增添或删除的纪录。)
AdOpenDynamic:静态游标。能够瞥见其他用户所作的增加、变动和删除。同意在纪录会合举行一切范例的挪动,但不包含供应者不撑持的书签操纵。(此范例的游标功效壮大同时也是泯灭体系资本最多的游标。Dynamic游标能够看到他们保留纪录汇合的一切变更。利用Dynamic游标的用户能够看到其他用户所做的编纂、增添、删除。假如数据供应者同意这类范例的游标,那末它是经由过程每隔一段工夫从数据源重取数据来撑持这类可视性的。毫无疑问这会必要良多的资本。)
AdOpenStatic:静态游标。能够用来查找数据或天生呈报的纪录汇合的静态正本。别的,对其他用户所作的增加、变动或删除不成见。(Static类游标只是数据的一幅快照。这就是说,它没法看到自它创立今后其他用户对RecordSet所做的修正。接纳这类游标你能够向前和向后飞行。因为其功效复杂,资本的需求比Dynamic要小!)
必要注重的是:一旦翻开RecordSet,你就没法改动CursorType属性。可是,假如你起首封闭RecordSet,改动CursorType属性,然后从头翻开RecordSet,那末你仍能够无效地改动游标的范例!
2、LockType属性
在任何同时可被多用户修正的数据库使用程序中,你必需处置大概产生的多个用户同时对统一笔记录举行操纵时的情形。当这类情形呈现时,数据的完全性就会遭到威逼,这是由于一个用户大概会在不盲目地在保留本人所做的修正时掩盖别人的修正。到时分你会以为本人好象是没有办事。为了处置这类情形。ADO同意你在对RecordSet工具举行更新时决意并发事务把持的范例,当一个用户编纂时,怎样由他对纪录举行锁定。这就是由LockType属性所决意的。这个属性有四个值:
adLockReadonly:默许值,只读。没法变动数据。(这是RecodSet的默许值,假如你把锁定的体例设为该值,那末你将不克不及更新Recordset。)
adLockPessimistic:守旧式纪录锁定(逐条)。供应者实行需要的操纵确保乐成编纂纪录,一般接纳编纂时当即锁定命据源的纪录的体例。(假如设置为此类锁定,纪录被锁定,且只要在编纂入手下手到将纪录更新的提交给数据供应者这段工夫内举行编纂的用户才能够会见!)
adLockOptimistic:开放式纪录锁定(逐条)。供应者利用开放式锁定,只在挪用Update办法时锁定纪录。(只要在将数据提交给数据供应者的那一刹时才把纪录锁定。)
adlockBatchOptimistic:开放式批更新。用于与当即更新形式相反的批更新形式。(设定为这类范例的锁定制式将被称为批量更新形式的RecordSet。能够加速更新RecordSet修正数据的速率,但由于同时更新多个纪录,它也会好转与并发会见相干的成绩!)
3、AbsolutePage属性
AbsolutePage属性设定以后纪录的地位是位于哪一页的页数编号;利用PageSize属性将Recordset工具支解为逻辑上的页数,每页的纪录数为PageSize(除最初一页大概会有少于PageSize的纪录数)。这里必需注重并非一切的数据供应者都撑持此项属性,因而利用时要当心。
与AbsolutePosition属性不异,AbsolutePage属性是以1为肇端的,若以后纪录为Recordset的第一行纪录,AbsolutePage为1。能够设定AbsolutePage属性,以挪动到一个指定页的第一行纪录地位。
4、AbsolutePosition属性
若您必要断定今朝目标在RecordSet中的地位,您能够用AbsolutePosition属性。
AbsolutePosition属性的数值为今朝目标绝对於第一笔的地位,由1算起,即第一笔的AbsolutePosition为1。
注重,在存取RecordSet时,没法包管RecordSet每次都以一样的按次呈现。
若要启用AbsolutePosition,必需先设定为利用用户端cursor(指针):rs.CursorLocation=3
5、PageCount属性
利用PageCount属性,决意Recordset工具包含几“页”的数据。这里的“页”是数据纪录的汇合,巨细即是PageSize属性的设定,即便最初一页的纪录数比PageSize的值少,最初一页也算是PageCount的一页。必需注重也并非一切的数据供应者都撑持此项属性。
6、PageSize属性
PageSize属性是决意ADO存取数据库时怎样分页显现的关头,利用它就能够决意几纪录构成一个逻辑上的“一页”。设定并创建一个页的巨细,从而同意利用AbsolutePage属性移到别的逻辑页的第一笔记录。PageSize属功能随时被设定。
7、RecordCount属性
这也是一个十分经常使用和主要的属性,我们经常使用RecordCount属性来找出一个Recordset工具包含几笔记录。利用RecordCount属性可断定Recordset工具中纪录的数量。ADO没法断定纪录数时,大概假如供应者或游标范例不撑持RecordCount,则该属性前往C1。读已封闭的Recordset上的RecordCount属性将发生毛病。Recordset工具的游标范例会影响是不是可以断定纪录的数量。对仅向前游标,RecordCount属性将前往-1,对静态或键集游标前往实践计数,对静态游标取决于数据源前往-1或实践计数。
8、BOF与EOF属性
一般我们在ASP程序中编写代码来查验BOF与EOF属性,从而得知今朝目标所指向的RecordSet的地位,利用BOF与EOF属性,能够得知一个Recordset工具是不是包括有纪录大概得知挪动纪录行是不是已超越该Recordset工具的局限。
若以后纪录的地位是在一个Recordset工具第一行纪录之前时,BOF属性前往true,反之则前往false。
若以后纪录的地位是在一个Recordset工具最初一行纪录以后时,EOF属性前往true,反之则前往false。
(BOF与EOF都为True暗示在RecordSet里没有任何纪录。)
9、Filter属性
为Recordset中的数据指定选择前提,利用Filter属性可选择性地屏障Recordset工具中的纪录,已选择的Recordset将成为以后游标。
这将影响基于以后游标前往值的其他属性,如AbsolutePosition、AbsolutePage、RecordCount和PageCount,由于将Filter属性设置为特
定值可将以后纪录挪动到满意新值的第一个纪录。
这属性我以为相称有效处,有的时分我们翻开了Recordset举行了某些判别今后我们还想过滤纪录也就是从头调剂sql语句,岂非我们封闭Recordset再用新的SQL语句翻开?不是,我们用Filter属性举行过滤,好比说
rs.openexec,conn,1,1
if....thenrs.filter="name=xxx"
而不是
rs.openexec,conn,1,1
if...then
rs.close
exec=exec&"wherename=xxx"
rs.openexec,conn,1,1
endif
实践上再良多中央不能不用到Filter,在今后的ASP技能中会说到,人人也能够想一下。
今天持续说Recordset工具的办法。
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|