|
主题: [疑问]建立打开数据集的几方法的区别
|
 东边日出
职务:普通成员
等级:1
金币:0.0
发贴:76
注册:2003/2/23 17:41:08
|
#12005/1/31 18:44:54
一直不明白这四个有什么大的区别..特别是第一个与后面三个那一个最相近. 不知道我标注的对不对.
sql="select * from news order by id desc" set rs=Conn.execute(sql) //建立打开数据集
set rs=Server.Createobject("ADODB.Recordset") sql="select * from news order by id desc" rs.Open sql,Conn,0,1 //可以显示数据
set rs=Server.Createobject("ADODB.Recordset") sql="select * from news order by id desc" rs.Open sql,Conn,1,3 //可以修改,删除数据
set rs=Server.Createobject("ADODB.Recordset") sql="select * from news order by id desc" rs.Open sql,Conn,3,3 //可以在打开数据库的同时修改删除数据.
|
 不是高手
职务:普通成员
等级:3
金币:5.0
发贴:1352
注册:2002/8/23 2:27:18
|
#22005/2/1 8:38:57
顶一下
我也有类似疑惑,后面两个参数的任意组合都起到什么作用,斑竹请教了
|
 浮尘
职务:普通成员
等级:3
金币:7.0
发贴:1258
注册:2001/11/19 12:41:09
|
#32005/2/1 13:07:45
第一种方法打开的记录集不能返回记录的数量。objRS.RecordCount=-1,在不用记录数量时,我使用这种方法,未深入研究。
|
 浮尘
职务:普通成员
等级:3
金币:7.0
发贴:1258
注册:2001/11/19 12:41:09
|
#42005/2/1 13:25:09
objRS.Open方法的语法是:
objRS.Open(Source,Connection,CursorType,LockType,CommandType)
CursorType:用于设置指针在Recordset对象中的移动方向。 0----adOpenForwardOnly 默认值,只能向下一条记录移动 1----adOpenKeyset 指针可以自由的上下移动。若对表的记录进行了新增、删除或更新,之前读取出来的Recordset对象可以看到更新的记录,但看不到新增或删除的记录 2----adOpenDynamic 指针可以自由的上下移动,并可以看到表的任何变化(新增、删除、更新),所用系统资源最多 3----当CursorLocation=3(即记录下载到浏览器端)时使用,指针可以自由的上下移动,但看不到表之后所做的任何变化,因为已经和服务器端的数据库中断连接。
LockType:设置能否将记录写入表 1----adLockReadOnly 默认值,记录只读,不允许更改 2----adLockPessimistic 当开始编辑某条记录时,便锁定此记录,待编辑完毕并调用Update方法进行更新之后,再解除锁定 3---adLockOptimistic 只有在调用Update方法进行更新的时候才锁定记录。若我们在编辑某条记录后没有调用Update方法进行更新,而是继续移往其他记录做编辑,ADO会自动调用Update方法进行更新,若要取消更新,可以使用CancelUpdate方法。这种方法的效率虽然较2好,但可能有数据不同步的问题。 4----adLockBatchOptimistic 允许以批次的方式更改记录。
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
|
#52005/2/1 16:33:26
建议在编写代码时不要使用 0-4 这种 magic number.
先包含 adovbs.inc 或在 global.asa 中加载 ado typelib, 即可随时使用友好的常量名称
|
 东边日出
职务:普通成员
等级:1
金币:0.0
发贴:76
注册:2003/2/23 17:41:08
|
#62005/2/2 9:53:15
sql="select * from news order by id desc" set rs=Conn.execute(sql)
那这个与后面这几个是什么关系呢.
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
|
#72005/2/2 9:59:08
东边日出在上个帖子中说 引用: sql="select * from news order by id desc" set rs=Conn.execute(sql)
那这个与后面这几个是什么关系呢.
CursorType 和 LockType 均取缺省值
|
 18687874
职务:普通成员
等级:1
金币:0.0
发贴:1
注册:2005/1/31 11:13:51
|
#82005/2/3 0:25:10
帮顶一下,让更多人学习 今天终于明白后面两个参数的意义了
|