【发布时间】:2012-10-03 14:45:37
【问题描述】:
我有一个带有查询、数据集、可编辑的 dbgrid 和 updatesql 组件的表单。当我需要保存在 dbgrid 中所做的更改时,我调用此过程:
procedure TEditCardDetailForm.SaveChanges;
begin
Database1.StartTransaction;
try
Query2.ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
Query2.CommitUpdates;
end;
但是,当我在 dbgrid 中编辑单元格后按 Enter 或转到另一行时,我希望将更改自动应用于数据库 - 就像我使用 TTable 组件时所做的那样。有办法吗?
【问题讨论】:
-
您能指定您使用的是哪个 Delphi 版本吗?另外,我建议尽可能避免使用 BDE 组件,因为它们早已被弃用。
-
那又怎样? D5 或多或少能够使 EXE 与最近的 Windows 兼容。甚至 XP 主题也可从 SoftGems 获得。但是 BDE 与较新的 Windows 的兼容性报告相当差,并且没有更多的开发或支持。在我最后的 D5 天里,我使用 Firebird 数据库后端和 UIB 组件集