首页 > 编程 > ASP > 正文

rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,

2024-05-04 11:08:22
字体:
来源:转载
供稿:网友
Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型.
 
 
 
经常开发asp但对于细致的说法,真实不太清楚,这里简单的介绍下。
一般情况下
读取数据都是用rs.open sql,conn,1,1
修改数据:rs.open sql,conn,1,3
删除数据:直接要conn.execute("delete * from new where id=1")这样的。

Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType 

Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型. 

CursorType 

常量 说明 
adOpenForwardOnly(值为0) (默认值)打开仅向前类型游标。 
adOpenKeyset(值为1) 打开键集类型游标。 
adOpenDynamic(值为2) 打开动态类型游标。 
adOpenStatic(值为3) 打开静态类型游标。 


LockType 


常量 说明 
adLockReadOnly (值为1) (默认值)只读 — 不能改变数据。 
adLockPessimistic(值为2) 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。 
adLockOptimistic(值为3) 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用 Update 方法时才锁定记录。 
adLockBatchOptimistic(值为4) 开放式批更新 — 用于批更新模式(与立即更新模式相对)。 

CursorType 
0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark 
1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark 
2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。 
3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动 

LockType 
LockType为记录集的锁定类型,其取值为: 
1 锁定类型,默认的,只读,不能作任何修改 
2 当编辑时立即锁定记录,最安全的方式 
3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等 
4 当编辑时记录不会被锁定,而更改、插入和删
rs.open sql,conn,3,2 
这两个是游标,具体的作用是: 
RS.OPEN SQL,CONN,A,B 
A: 
ADOPENFORWARDONLY(=0) 
只读,且当前数据记录只能向下移动 
ADOPENKEYSET(=1) 
只读,当前数据记录可自由移动 
ADOPENDYNAMIC(=2) 
可读写,当前数据记录可自由移动 
ADOPENSTATIC(=3) 
可读写,当前数据记录可自由移动,可看到新增记录 
B: 
ADLOCKREADONLY(=1) 
缺省锁定类型,记录集是只读的,不能修改记录 
ADLOCKPESSIMISTIC(=2) 
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。 
ADLOCKOPTIMISTIC(=3) 
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。 
ADLOCKBATCHOPTIMISTIC(=4) 
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。 
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。 
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间, 
数据在这段时间被更新。这减少了资源的使用。 
总结一下: 
sql,conn,1,1 代表不允许更新,一般用于查询操作。 
sql,conn,1,3 代表允许更新,一般用于插入,更新和删除操作。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表