Delphi ADO:保存DBEdit的更改
我使用ADO打开Excel表(尽pipe它可能与任何其他数据库相同:adoconnection,adotable,datasource)并将其显示在ReadOnly DBGrid中。 我有DBEdit编辑当前选定的行中的一些值。
但是如何保存呢? 我试图在FormClose adotable.Post,但它会抛出错误,“数据集不在编辑或插入模式”。
我需要在DBEdit OnEnter和Post OnExit中调用adotable.Edit吗?
当用户导航到另一个logging时, Post
被自动调用。
您需要打电话的唯一时间是当您select的logging在您closures表单时有未决的更改。
但即使如此,您不必明确调用Post
:您可以使用帮助函数CheckBrowseMode
。 如果数据集处于编辑模式, CheckBrowseMode
检查是否有任何修改。 如果不是,则取消编辑,否则它会发布这些更改。 如果数据集已经不处于编辑模式,则CheckBrowseMode
不会引发任何exception,只有在数据集closures的情况下(在您的情况下这是不可能的)。