if ADOTable1.State in [dsEdit, dsInsert] then
if MessageBox(Handle, '记录已改变,是否保存? ', '是否保存数据 ', MB_OKCANCEL+MB_ICONQUESTION) = ID_OK then
// BtnSave.Click
else
ADOTable1.Cancel;上面这句加在哪里比较好?DBedit比较多的话 每个changge判断比较麻烦
想加在ADOTable1的事件 只要记录修改了 就提示是否保存
if MessageBox(Handle, '记录已改变,是否保存? ', '是否保存数据 ', MB_OKCANCEL+MB_ICONQUESTION) = ID_OK then
// BtnSave.Click
else
ADOTable1.Cancel;上面这句加在哪里比较好?DBedit比较多的话 每个changge判断比较麻烦
想加在ADOTable1的事件 只要记录修改了 就提示是否保存
需要改什么,用SQL直接提交。然后刷新界面。
这样编码的时候会简单很多。
用Edit 还得加个旧数据 新数据 判断是否修改
在DBGrid中的操作,最终会影响数据集,所以只要管理好数据集就可以了。
点保存按钮 也会提示是否保存,怎么去掉呢?只在切换到其他记录的时候提示
procedure TForm1.Button_SaveClick(Sender: TObject);
begin
ADOTable1.UpdateBatch();
end;
在这边写,点提交按钮时, 会一直 提示 '记录已改变,是否保存? '
按了无数次 也是这个提示我有设置ltBatchOptimistic,要提交才保存