我使用ADO打开Excel表(虽然它可能与任何其他数据库相同:adoconnection,adotable,datasource)并在ReadOnly DBGrid中显示它。 我有DBEdit来编辑当前选定行中的一些值。
但如何保存呢?我在FormClose上尝试过adotable.Post,但它会抛出错误,即#34;数据集不处于编辑或插入模式"。
我是否需要在DBEdit OnEnter和Post OnExit中调用adotable.Edit?
答案 0 :(得分:2)
Post
。
您需要致电Post
的唯一时间是当前所选记录在您关闭表单时有未决更改。
但即便如此,您也不必明确地致电Post
:您可以使用辅助功能CheckBrowseMode
。如果数据集处于编辑模式,CheckBrowseMode
将检查是否有任何修改。如果没有,它将取消编辑,否则,它会发布这些更改。如果数据集已经处于编辑模式,CheckBrowseMode
不会引发任何异常,只有在数据集关闭的情况下(在您的情况下这不可能)。