仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 382|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计三天学好ADO之第三天

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题ado明天来讲一下Recordset工具的一些办法。
1、AddNew办法
创立可更新Recordset工具的新纪录。
recordset.AddNewFieldList,Values
FieldList可选。新纪录中字段的单个称号、一组称号或序号地位。
Values可选。新纪录中字段的单个或一组值。假如Fields是数组,那末Values也必需是有不异成员数的数组,不然将产生毛病。字段称号的序次必需与每一个数组中的字段值的序次相婚配。

我们通常为
rs.addnew
rs("xx")=xx
rs("xx")=xx
rs.update
必要注重的是在当即更新形式(挪用Update办法时供应者会当即将变动写进基础数据源)下,挪用不带参数的AddNew办法可将EditMode属性设置为adEditAdd。供应者将任何字段值的变动缓存在当地。挪用Update办法可将新纪录传送到数据库并将EditMode属性重置为adEditNone。假如传送了Fields和Values参数,ADO则当即将新纪录传送到数据库(不必挪用Update),且EditMode属性值没有改动(adEditNone)。
大概人人会问在ASP中利用ADO的AddNew办法和间接利用“Insertinto...”语句有和分歧?那种体例更好?答:ADO的AddNew办法只是将“Insertinto”语句封装了起来,以是,当对大批数据举行操纵的时分,间接利用SQL语句将会年夜年夜加速存取数据的速率,由于他削减了ADO的“翻译”工夫。

2、Delete办法
删除以后纪录或纪录组。
recordset.DeleteAffectRecords

AffectRecordsAffectEnum值,断定Delete办法所影响的纪录数量,该值能够是以下常量之一。
AdAffectCurrent默许。仅删除以后纪录。
AdAffectGroup删除满意以后Filter属性设置的纪录。要利用该选项,必需将Filter属性设置为无效的预界说常量之一。
adAffectAll删除一切纪录。
adAffectAllChapters删除一切子集纪录。
利用当即更新形式将在数据库中举行当即删除,不然纪录将标志为从缓存删除,实践的删除将在挪用Update办法时举行。

3、Update办法
保留对Recordset工具确当前纪录所做的一切变动
recordset.UpdateFields,Values
Fields可选。变体型,代表单个称号;或变体型数组,代表必要修正的字段(一个或多个)称号及序号地位。
Values可选。变体型,代表单个值;或变体型数组,代表新纪录中字段(单个或多个)值。
假如但愿作废对以后纪录所做的任何变动大概保持新增加的纪录,则必需挪用CancelUpdate办法。

4、CancelUpdate办法
recordset.CancelUpdate
利用CancelUpdate办法可作废对以后纪录所作的任何变动或保持新增加的纪录。在挪用Update办法后将没法取消对以后纪录或新纪录所做的变动,假如在挪用CancelUpdate办法时增加新纪录,则挪用AddNew之前确当前纪录将再次成为以后纪录。假如还没有变动以后纪录或增加新纪录,挪用CancelUpdate办法将发生毛病。

5、Find办法
搜刮Recordset中满意指定尺度的纪录。假如满意尺度,则纪录集地位设置在找到的纪录上,不然地位将设置在纪录集的开端。
Find(criteria,SkipRows,searchDirection,start)
criteria字符串,包括指定用于搜刮的列名、对照操纵符和值的语句。
SkipRows可选,长整型值,其默许值为零,它指定以后行或start书签的位移以入手下手搜刮。
searchDirection可选的SearchDirectionEnum值,指定搜刮应从以后行仍是下一个无效行入手下手。其值可为adSearchForward或

adSearchBackward。搜刮是在纪录集的入手下手仍是开端停止由searchDirection值决意。
start可选,变体型书签,用作搜刮的入手下手地位。
criteria“对照操纵符”能够是“>”(年夜于)、“<”(小于)、“=”(即是)、“>=”(年夜于或即是)、“<=”(小于或即是)、“”

(不即是)或“like”(形式婚配)。criteria中的值能够是字符串、浮点数大概日期。字符串值以单引号分界(如“state=WA”)。

日期值以“#”(数字暗号)分界(如“start_date>#7/22/97#”)。
必要注重的是find是不撑持多字段。可是能够用filter完成。"name=abc"AND"city=sh"是不同意的

6、Move办法
挪动Recordset工具中以后纪录的地位
recordset.MoveNumRecords,Start
NumRecords带标记长整型表达式,指定以后纪录地位挪动的纪录数。
Start可选,字符串或变体型,用于盘算书签。也可为以下值之一:
AdBookmarkCurrent默许。从以后纪录入手下手。
AdBookmarkFirst从首纪录入手下手。
AdBookmarkLast从尾纪录入手下手。
必要注重的是:
(1)假如NumRecords参数年夜于零,则以后纪录地位将向前挪动(向纪录集的开端)。假如NumRecords小于零,则以后纪录地位向后挪动(向纪录集的入手下手)。
(2)从空的Recordset工具挪用Move办法将发生毛病。
(3)假如Move挪用将以后纪录地位挪动到首纪录之前,则ADO将以后纪录安排在纪录集(BOF为True)的首纪录之前。在BOF属性已为True时试图向后挪动将发生毛病;假如Move挪用将以后纪录地位挪动到尾纪录以后,则ADO将以后纪录安排在纪录集(EOF为True)的尾纪录以后。在EOF属性已为True时试图向前挪动将发生毛病。

7、MoveFirst、MoveLast、MoveNext和MovePrevious办法
在指定Recordset工具中挪动到第一个、最初一个、下一个或前一个纪录并使该纪录成为以后纪录。
recordset.{MoveFirst|MoveLast|MoveNext|MovePrevious}
必要注重的是:
(1)利用MoveNext办法将以后纪录向前挪动一个纪录(向Recordset的底部)。假如最初一个纪录是以后纪录而且挪用MoveNext办法,则ADO将以后纪录设置到Recordset(EOF为True)的尾纪录以后。当EOF属性已为True时试图向前挪动将发生毛病。
(2)利用MovePrevious办法将以后纪录地位向后挪动一个纪录(向纪录集的顶部)。Recordset工具必需撑持向后游标挪动;不然办法挪用将发生毛病。假如首纪录是以后纪录而且挪用MovePrevious办法,则ADO将以后纪录设置在Recordset(BOF为True)的首纪录之前。而BOF属性为True时向后挪动将发生毛病。

8、Clone办法
创立与现有Recordset工具不异的复制Recordset工具。可选择指定该正本为只读。
SetrstDuplicate=rstOriginal.Clone
rstDuplicate工具变量,标识正在创立的复制Recordset工具。
rstOriginal工具变量,标识要被复制的Recordset工具。
利用Clone办法可创立多个Recordset工具正本,这关于但愿在给定的纪录组中保存多个以后纪录非常有效。利用Clone办法比利用与初始界说不异的界说创立和翻开新Recordset工具要无效很多。
也就是说
rs.openexec,conn,1,1
rs2.openexec,conn,1,1
应当这么改写
rs.openexec,conn,1,1
rs2=rs.clone

必要注重的是:
(1)新创立正本确当前纪录将设置为首纪录。
(2)封闭原始Recordset时其实不封闭它的正本,而封闭某个正本也将不封闭原始Recordset或任何其他正本。

9、Close办法
封闭翻开的工具及任何相干工具。
object.Close
必要注重的是:
(1)利用Close办法可封闭Recordset工具以便开释一切联系关系的体系资本。封闭工具并不是将它从内存中删除,能够变动它的属性设置而且在

今后再次翻开。要将工具从内存中完整删除,可将工具变量设置为Nothing。
(2)假如正在当即更新形式下举行编纂,挪用Close办法将发生毛病,应起首挪用Update或CancelUpdate办法。


10、Open办法,为何最初说这个,由于后面的各项属性办法没有弄分明,我们是不会了解CursorType参数的
recordset.OpenSource,ActiveConnection,CursorType,LockType,Options
Recordset工具能够经由过程Source属性来毗连Command工具。Source参数能够是一个Command工具称号、一段SQL命令、一个指定的数据表称号或是一个StoredProcedure。假设省略这个参数,体系则接纳Recordset工具的Source属性。ActiveConnection

Recordset工具能够经由过程ActiveConnection属性来毗连</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
莫相离 该用户已被删除
沙发
发表于 2015-1-20 07:40:21 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
兰色精灵 该用户已被删除
板凳
发表于 2015-1-28 23:57:27 来自手机 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
深爱那片海 该用户已被删除
地板
发表于 2015-2-2 16:49:32 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
小妖女 该用户已被删除
5#
发表于 2015-2-8 01:43:50 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
小魔女 该用户已被删除
6#
发表于 2015-2-23 22:52:00 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-7 10:25:41 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
蒙在股里 该用户已被删除
8#
发表于 2015-3-14 21:02:48 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-21 14:20:12 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 01:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表