两个ADO控件连接同一个表
一个是ADOTABLE,它更新并提交了数据,(提交 BookData.adotBookFromat.CheckBrowseMode;
BookData.adotBookParaFormat.CheckBrowseMode;)
另一个是ADOQUERY控件,等上面的更新完了,用QUERY查询,但是查询到的结果还是没有更新之前的
ACCESS
一个是ADOTABLE,它更新并提交了数据,(提交 BookData.adotBookFromat.CheckBrowseMode;
BookData.adotBookParaFormat.CheckBrowseMode;)
另一个是ADOQUERY控件,等上面的更新完了,用QUERY查询,但是查询到的结果还是没有更新之前的
ACCESS
2.关键还要看两个连接所使用的事务隔离模式(ADOConnection.IsolationLevel).比如说ADOTable处于自己的事务当中,Post之后还没有Commit事务,那么ADOQuery如果是只读取已经提交的数据(ilReadCommited),那么ADOQuery就无法取得ADOTable在Commit事务之前的数据.
如果保存成功,把QUERY先close再open
如果保存成功,把QUERY先close再open怎么确定呀!关了,第二次打开就是对的,保存成功了吧
adoconnection.begintrans;
try
with adoquery1 do
begin
close;
sql.text := ' usdate .....';
execsql;
end;
adoconnection.committrans;
//再刷新一下
except
adoconnection.rollbacktrans;
end;
adoconnection.begintrans;
try
with adoquery1 do
begin
close;
sql.text := ' usdate .....';
execsql;
end;
adoconnection.committrans;
//再刷新一下
except
adoconnection.rollbacktrans;
end;
POST了
可是不行,应该是问题不在这,再好好找找