rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,conn,3,2区别
rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,conn,3,2区别
发布时间:2016-12-29 来源:查字典编辑
摘要:经常开发asp但对于细致的说法,真实不太清楚,这里简单的介绍下。一般情况下读取数据都是用rs.opensql,conn,1,1修改数据:rs...

经常开发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 代表允许更新,一般用于插入,更新和删除操作。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类