记录删除的小问题(50分)

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

3DDELPHI

Unregistered / Unconfirmed
GUEST, unregistred user!
我用以下代码删除一个记录,当我点击时却什么也没发生,请各位大侠指教。
procedure TForm1.Dele1Click (sender:TObject);
begin
if messagedlg('Are you sure to delete this record?',mtConfirmation,[mbYes,mbCancel],0)=mrYes then
begin
//try
table1.Delete;
table1.Post ;
//except
showmessage('Can not dele this record.');
//end;
end;
 
加 Table1.ApplyUpdates;
还不行的话再做一下事务控制。
 
用table1.Delete;
不要用table1.Post ;
所以你删除table1.Post ;看看

 
table1 的缓存更新设为false可解决问题
 
只用TABLE1.DELETE就可以了
 
only TABLE1.DELETE
 
什么也没有发生是什么意思?
是指程序没有执行还是指数据库中的数据没有被删除?
 
同意不用:table1.Post ;
还有看看table1 的readonly属性是不是设成true了
 
整理一下:
1、将Table.post去掉;
2、将Table的CachedUpdate属性设为False;
3、将Table的Readonly属性设为False;
如果还不行,还真是见了鬼了!
 
同意txfzr意见
 
后台数据库是什么呢?
如果是VFP之类请你搜索以前的问题,有人问过了。
 
什么也没有发生是什么意思?
是指程序没有执行还是指数据库中的数据没有被删除?
 
showmessage('Before run Delete');
table.delete;
Showmessage('After run Delete');

先用上面语句判一下,看看有没有执行过table.delete语句吧。

或在DeleteClick事件中除了table.Delete外,其它语句都删除,看有记录有没有删除!

把问题范围缩小,才好找原因。
 
其实是messagedlg()的问题换成MessageBox()可解决.
 
先定位记录,再DELETE
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
512
import
I
I
回复
0
查看
575
import
I
顶部