adodb.recordset.open sqlstr,conn,1,1 后面的两个参数是什么意思
如果单单是读取,不涉及更新操作,那就用1,1 如果涉及读取及更新操作,可以用1,3 或3,2
Recordset对象的Open方法原型: Open([Source],[ActiveConnection],[CursorType],[LockType],[Options])
CursorType游标类型: Const adOpenForwardOnly = 0 前向游标,为缺省游标,提供最快的运行性能。用它打开recordset,从对至尾顺序取得所有结果。它不支持向后滚动,只允许在结果间单向移动。
Const adOpenKeyset = 1 静态游标,反映第一次打开游标时表中数据的状态,游标无法查明底层表中的数据行是否更新过、删除过或添加了新的数据。不过与只能前移的洲标不同,静态游标可以在结果间前后滚动。
Const adOpenDynamic = 2 键盘驱动的游标,可以查询表中底层数据行的某些变化,但不是全部。它特别是可以准确反映数据是否更新过。但它不能查明其它用户是否曾删除过数据行(删除掉的数据行在recordset中会留下空洞)。键盘驱动的游标支持在结果间前后滚动。
Const adOpenStatic = 3 动态游标,是最丰富的游标类型。游标打开时可以查询其他用户对表的任何改动,而且支持滚动。
LockType加锁类型: Const adLockReadOnly = 1 缺省的上锁类型,只读方式上锁允许多个用户同时读取同样的数据,但不能改变数据。
Const adLockPessimistic = 2 以悲观上锁方式打开数据对象。该方式假定在你编辑记录时会有其它用户访问数据。此时一旦你开始编辑记录,其它用户就不能访问该数据。
Const adLockOptimistic = 3 以乐观上锁方式打开数据对象。该方式假定在你编辑记录时不会有其它用户访问数据。在完成改变之前,其它用户不能访问该记录。
Const adLockBatchOptimistic = 4 执行多行批处理更新时使用这种类型
Options参数: Options参数标明用来打开记录集的命令字符串的类型。告诉ADO被执行的字符串内容的有关信息有助于高效地执行该命令字符串。
adCMDTable。被执行的字符串包含一个表的名字。 adCMDText。被执行的字符串包含一个命令文本。 adCMDStoredProc。被执行的字符串包含一个存储过程名。 adCMDUnknown。不指定字符串的内容。(这是缺省值。)
简单点就是: RS.OPEN SQL,CONN,A,B A: =0 (ADOPENFORWARDONLY) 只读,且当前数据记录只能向下移动 A: =3 (ADOPENSTATIC) 只读,当前数据记录可自由移动 A: =1 (ADOPENKEYSET) 可读写,当前数据记录可自由移动 A: =2 (ADOPENDYNAMIC) 可读写,当前数据记录可自由移动,可看到新增记录
B: =1 (ADLOCKREADONLY) 默认值,用来打开只读记录 B: =2 (ADLOCKPESSIMISTIC) 悲观锁定 B: =3 (ADLOCKOPTIMISTIC) 乐观锁定 B: =4 (ADLOCKBATCHOPTIMISTIC) 批次乐观锁定
|