当前位置:编程学习 > VB >>

送分100分:查询一个表时,同时要更新这个表,有什么注意事项吗?

   sql ="select * from  xiaoshou " 
   Rst1.Open sql, Conn, adOpenKeyset, adLockPessimistic

   sql ="update xiaoshou set 总金额=1000  where  姓名='张三' "
   Conn.Execute sql
在以上代码中Rst1.Open sql, Conn, adOpenKeyset, adLockPessimistic

这adOpenKeyset, adLockPessimistic两项  怎么设置才不会影响Conn.Execute sql的正常执行。


    其实open方法后面有多个参数   
CursorType LockType CommandType   
比如 rs.open sql,1,1   也可以写成   rs.cursorType = 1   rs.LockType = 1   rs.open sql   其中CursorType代表从一个表或者一个SQL查询结果返回的记录。   
这个参数有四个值分别是:   adOpenForwardOnly 表示只允许在记录集内的记录间往前移动。这个是缺省值。   adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。   adOpenDynamic 反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录   adOpenStatic 不反映其它用户对记录所做的修改,添加,删除动作。   这四个值VBSCRIPT预定义位   adOpenForwardOnly = 0   adOpenKeyset = 1   adOpenDynamic = 2   adOpenStatic = 3   lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型:   adLockReadOnly 数据不能改变,这是缺省值!   adLockPessimistic 数据提供者在开始编辑数据的时候锁定记录   adLockOptimistic 仅当调用update方法时,数据提供者锁定记录   adLockBatchOptimistic 用于批处理修改   他们的常量值定义分别是:   adLockReadOnly = 1   adLockPessimistic = 2   adLockOptimistic = 3   adLockBatchOptimistic = 4   rs.open sql,conn,1,1 读取记录 select   rs.open sql,conn,1,3 只更新记录最好 update   rs.open sql,conn,2,3 插入和删除最好 insert delete  仅你这4行代码,怎么设参数都不影响。
除非你所用的数据库特殊到通过游标的锁定可以阻止自己的更新。 没有影响
Conn.Execute sql  和
Rs.Open sql, Conn, adOpenKeyset, adLockPessimistic
基本等效 怎么设置会有影响,有什么影响? 这样执行更改,那个设置才有影响
    Sql = "select * from xiaoshou "
    rst1.Open Sql, Conn, adOpenKeyset, adLockOptimistic
    rst1.Filter = " 姓名='张三'"
    rst1.总金额 = 1000
    rst1.Update
    rst1.Close

你那种写法是分两步分别执行了,没什么影响 俺喜欢
SLECT 用
Adodc1.RecordSource = "select * FROM TB "
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
END IF  形式

upadate/insert 就用
sql ="update xiaoshou set 总金额=1000 where 姓名='张三' "
  Conn.Execute sql
这样就不需要考虑那几个参数
引用 4 楼 asftrhgjhkjlkttttttt 的回复:
没有影响
Conn.Execute sql 和
Rs.Open sql, Conn, adOpenKeyset, adLockPessimistic
基本等效


这个adLockPessimistic 锁定对 同时更改这个表的 Conn.Execute sql 就真没有影响吗,各位。
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,