在一个修改用户信息的窗体中有一个姓名列表控件datacombo1和一个RECORDSET变量RSTXM,sql="select 姓名 form yhxx order by 姓名"
RSTXM.open sql,conn,adOpenKeyset ,adLockReadOnly 执行修改信息的语句如下:
sql="update yhxx set 姓名='张三' where 姓名='李四'"
conn.execute sql请问RSTXM.open sql,conn,adOpenKeyset ,adLockReadOnly 中的adLockReadOnly 会不会影响CONN.EXECUTE的执行。
RSTXM.open sql,conn,adOpenKeyset ,adLockReadOnly 执行修改信息的语句如下:
sql="update yhxx set 姓名='张三' where 姓名='李四'"
conn.execute sql请问RSTXM.open sql,conn,adOpenKeyset ,adLockReadOnly 中的adLockReadOnly 会不会影响CONN.EXECUTE的执行。
不同类型的数据库、甚至同类数据库的不同版本处理方法都不一样。
参数 adLockReadOnly 只是表明这里“不需要加锁”,并不是“不能加锁”,如果数据库自己要加,你管不着。
曾经碰到过 Sybase 在只读模式下发生加锁的情况。
他们不是涉及到同一条记录吗?怎么能说没影响,adLockReadOnly让这条数据只读,而后面的CONN.EXECUTE语句又要更改这条记录,这不显然是相互矛盾的吗?
你是说这 RSTXM.open 和 CONN.EXECUTE 是两个事务,当执行 CONN.EXECUTE 时, RSTXM.open 的事务已经执行完毕了,对吗?