新手学堂:rs.open与conn.execute详细解释
2008-07-01 10:37:43 来源:WEB开发网
1. RS.OPEN SQL,CONN,A,B,C 2. CONN.EXECUTE(SQL,RowsAffected,C)
参数含义: SQL的值可以是SQL语句、表名、存储过程名,也可以是数据提供者所能接受的任意字符串。为了提高性能,最好为C参数指定合适的值 可选参数RowsAffected将返回INSERT、UPDATE或DELETE查询执行以后所影响的数目。这些查询会返回一个关闭的Recordset对象。 一个SELECT查询将返回RowsAffected值为-1并且返回带有一行或多行内容的打开的Recordset。
A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1) 只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动
ADOPENSTATIC(=3) 可读写,当前数据记录可自由移动,可看到新增记录
B: ADLOCKREADONLY(=1) 缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2) 悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3) 乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4) 批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。 对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间, 数据在这段时间被更新。这减少了资源的使用。
C:(指定SQL语句类型) ADCmdUnknown (= &H0008) 未知,需要系统来判断,速度慢,为缺省值
ADCmdText (= &H0001) 命令语句如SQL语句 如:Select * from Table1
ADCmdTable (= &H0002) 查询的表名称,例如:Table1
ADCmdStoredProc (= &H0004) 存储过程名称
ADCmdFile (= &H0100) 对象类型相应的文件名称
ADCmdTableDirect (= &H0200) 是能直接从表中获取行内容的表名称
conn.execute(sql)(0)为数据集的第一个字段的值 |
更多精彩
赞助商链接