博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

open方法收藏

Posted on 2009-03-16 16:43  ^_^木头人  阅读(96)  评论(0)    收藏  举报

我看经常用到
rs.open sql,conn,1,3
这句话,您明白他的意思吗?

下面我们来详细了解下open方法?

open方法的格式是:
rs.open [source],[activeconnection],[cursortype],[locktype],[options]
rs.open sql,conn,1,3
参数含义:
source----------------command对象名或sql语句或数据表名(也就是上面的的QL)
activeconnection------connection对象名或包含数据库连接的字符串名(也就是上面的conn)
cursortype------------recordset对象的指针类型(也就是上面的1)
locktype--------------recordset对象的使用类型(也就是上面的3)
options---------------source类型(上面省略了没有些)

到这里有点感觉了吧!别忙我面将继续下面的.对1,3,和省略的数字进行详细讲解

cursortype参数值(也就是上面的1)
adOpenForwardOnly(0)---------------向前指针,只能利用movenext或getrows向前移动数据
adOpenKeyset(1)---------------键盘指针,可以向前或向后移动,客户的修改(除了增加数据)其他用户可以立即显示。
adOpenDynamic(2)---------------动态指针,可以向前或向后移动,客户所有的修改都可以立即在其他客户端显示。
adOpenStatic(3)---------------静态指针,可以向前或向后移动,修改不会显示在其他客户端。

以上几个类型(0,1,2,3)将直接影响到Recordset对象所有的属性和方法,以下图说明他们之间的区别

Recordset属性

adOpenForwardOnly (0)

adOpenKeyset(1) adOpenDynamic(2)
adOpenStatic(3)
AbsolutePage 不支持 不支持 可读写 可读写
AbsolutePosition 不支持 不支持 可读写 可读写
ActiveConnection 可读写 可读写 可读写 可读写
BOF 只读 只读 只读 只读
Bookmark 不支持 不支持 可读写 可读写
CacheSize 可读写 可读写 可读写 可读写
CursorLocation 可读写 可读写 可读写 可读写
CursorType 可读写 可读写 可读写 可读写
EditMode 只读 只读 只读 只读
EOF 只读 只读 只读 只读
Filter 可读写 可读写 可读写 可读写
LockType 可读写 可读写 可读写 可读写
MarshalOptions 可读写 可读写 可读写 可读写
MaxRecords 可读写 可读写 可读写 可读写
PageCount 不支持 不支持 只读 只读
PageSize 可读写 可读写 可读写 可读写
RecordCount 不支持 不支持 只读 只读
Source 可读写 可读写 可读写 可读写
State 只读 只读 只读 只读
Status 只读 只读 只读 只读
AddNew 支持 支持 支持 支持
CancelBatch 支持 支持 支持 支持
CancelUpdate 支持 支持 支持 支持
Clone 不支持 不支持 不支持 不支持
Close 支持 支持 支持 支持
Delete 支持 支持 支持 支持
GetRows
支持 支持 支持 支持
Move 不支持 支持 支持 支持
MoveFirst 支持 支持 支持 支持
MoveLast 不支持 支持 支持 支持
MoveNext 支持 支持 支持 支持
MovePrevious 不支持 支持 支持 支持
NextRecordset 支持 支持 支持 支持
Open 支持 支持 支持 支持
Requery 支持 支持 支持 支持
Resync 不支持 不支持 支持 不支持
Supports 支持 支持 支持 支持
Update 支持 支持 支持 支持
UpdateBatch 支持 支持 支持 支持


--------------------------------
注意:其中NextRecordset方法并不适用于Microsoft Access数据库。


locktype参数值(也就是上面的3)
adLockReadOnly(1)---------------缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adLockPrssimistic(2)---------------当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
adLockOptimistic(3)---------------当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、

改的xx作。
adLockBatchOptimistic(4)---------------当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的xx作。

options参数值
-1--------------参数无法确定,默认
1---------------命令类型
2---------------表名称
3---------------存储过程名

 

---------------------------------------------------------

个人认为直接查询的时候使用rs.open sql,conn,1,1的组合

修改或者添加的时候使用rs.open sql,conn,2,3的组合