具体问题是这样:
数据库采用Oracle9i,客户端软件采用VC6.0连接方式为ODBC。客户端操作很简单就是更新一个表的记录集。现在存在的问题就是用PLSQL Deeloper辅助工具采用SQL语句删除表中的记录后(PLSQL Deeloper软件暂不退出,用Select查询后已查不到删除的记录),运行客户端软件用CRecordset::Open()或CRecordset::Requery()仍能得到删除的数据,只是更新记录后调用CRecordset::Update()会有问题,提示“更新或删除操作未涉及任何数据行。”,请问是什么原因造成的上述数据不同步的原因?如何解决?另外是否只是只与PLSQL Deeloper有冲突我也无法确认。另外补充一点:客户端的操作没有采用事务,数据集方式为快照方式(改成动态方式好像也有这个问题,当然我只是在构造函数里把m_nDefaultType=snapshot;改成m_nDefaultType=dynaset了,可能方法不对),另外在问一个问题,在ODBC连接方式下能否把数据集的记录都更新后再Update()提交?每次在循环里Edit()和Update()一条记录个人感觉效率不高。