Interbase 问题(50分)

  • 主题发起人 主题发起人 3hsoft
  • 开始时间 开始时间
3

3hsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何回显网络上其它用户新增或修改的数据?
我用的是存储过程新增和修改数据
并增加了一个TTimer控件,增加代码如下:
void __fastcall TMainf::Timer1Timer(TObject *Sender)
{
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("Select * From INTRACOMNOW"); //INTRACOMNOW为视图名称
IBQuery1->SQL->Add("Where FROMTO IN ('"+USERNAME+"','"+WORKGROUP+"')");
IBQuery1->SQL->Add("Order by INTRACOMDATE DESC,INTRACOMTIME DESC");
IBQuery1->Open();
}
可是还是不起作用。
当A增加或修改了一个数据。
A和B用户必须同时关闭程序,B再打开程序才能见到新增或修改的数据
 
定时Database1.Close; Database1.Open;就行了
 
如果 cachedupdates 打开而还未提交的话,另一个用户肯定是看不到的,必须在提交后
另一个用户再打开时才能看到,可能需要把表关闭再打开。
 
如果 cachedupdates 打开而还未提交的话,另一个用户肯定是看不到的,必须在提交后
另一个用户再打开时才能看到,可能需要把表关闭再打开。
 
要看到其他人修改的数据必须要其他人dataset.commit才可以。不管cachedupdates
是否打开。
 
关闭打开的方法太麻烦了,大侠们还有好的方法吗?
 
>>三代坦克
其它用户Commit后,本地如果不IBDatabase->Close();& IBDatabase->Open()也无法
即时看到。
Lop说的对:大侠们还有好的方法吗?
 
I always use like this
 
3hsoft,是的。条件1:其他人commit
2:本地close ,open 必须同时满足。
 
坚决支持使用InterBase的兄弟
 
接受答案吧,再来几个相好我都不好分了,不过虽然我是数据库新兵,
以后如果仁兄仁姐们有好的方法,还请高抬贵手,给我好的方法,
(3hsoft@china.com)
devuser说得好,坚决支持使用InterBase的兄弟;
 
多人接受答案了。
 
后退
顶部