数据库刷新问题,应该简单吧,但我找不到原因(50分)

  • 主题发起人 主题发起人 apex
  • 开始时间 开始时间
A

apex

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库为sql server7,由于有几个table很小,所以用了TTable,存储过程用post,但
发现post后,TDbgrid中的第一条和最后一条记录均为刚添加的记录,要刷新后才能正常
显示在最后一条,但我又不想在刷新后记录指针自动回到第一条上,所以请教有什么方法
可以不刷新就正常显示,难道我在控件属性设置上有问题,还是什么原因??????
 
刷新的过程就是,先colse ,再 open
所以就会回到第一条
可以刷新后,再locate( , ,[])

 
to chenlh:你这个方法等同于TTable.Refresh,不爽。
如此简单的问题,唉,数据库高手今天都没来逛论坛???
 
那我就不懂你是怎么刷新的了?
 
我要的是不通过刷新实现,就象pardox等文件型数据库操作时一样
 
不刷新而更新数据的方法好像不太好作,但关于记录指针指向最
后一条可以试试table.findlast方法。
 
请注意问题中的这句话“TDbgrid中的第一条和最后一条记录均为刚添加的记录,要刷新后
新添加的记录才能正常显示在最后一条”,谢谢!
 
我觉得是DBGrid控件的问题,试一下以下的语句:
beforepost : table1.disablecontrols
afterpost : table1.enablecontrols
 
不是DBGrid控件的问题,用DBNavigator也一样,添加后按first按钮,也只显示刚添加的
记录,只有此后按last按钮后,才恢复正常。
 
在添加后调用一次Table1.Last不行吗???
 
注意:我是在找文件型数据库与关系型数据库在post后为什么不同,是我的代码不对还
是别的什么原因
 
简单,dbgrid的焦点(注意:是指虚线框)和当前记录的指针不一样。
 
大家请看清我的题目和随后的解释,ok?!?!?!?!?!?!?
 
yourRefreshButton.Click:
begin
with yourtable do
begin
DisableControls;
Close;
Open;
EnableControls;
end;
end;

如果还不行,请使用bookmark功能
 
多人接受答案了。
 
后退
顶部