我正在创建一个应用程序,要求我将大量数据发布到表格中以及更改表格中的值。处理表格,防止数据集错误
每当我编写应用程序时,我大部分时间似乎都在停止错误,如'Cannot perform this method on a closed dataset'
或'tblName not in edit or insert mode'
。我似乎每次都得到这些,他们不容易调试,并找出哪里出了问题。
我只是在寻找一些关于如何阻止这种情况发生的指导,我知道这是我正在做的事情。例如,此刻我得到:
这段代码中
“无法在一个封闭的数据集执行此操作”的地方。
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not tblSystem.Active then
tblSystem.Open;
if not tblSpecs.Active then
tblSpecs.Open;
tblSpecs.Edit;
tblSpecs.Post;
tblSpecs.Close;
// Post changes to the notes on exit
tblSystem.Edit;
tblsystem.Post;
tblSystem.Close;
end;
和
procedure TfrmMain.chkAutoUpdateClick(Sender: TObject);
begin
tblSystem.Edit;
if chkAutoUpdate.Checked then
chkInstUpdates.Enabled := True
else
begin
chkInstUpdates.Enabled := False;
tblSystemAutoUpdate.AsBoolean := False;
end;
end;
我会立刻意识到这是推动/从表中提取数据糟糕的代码假设,任何帮助,将不胜感激。另外任何调试帮助都会很棒。
看到您以前的问题我建议您放弃designtime数据库控件并开始使用真正的SQL查询,这样您将不再受限于GUI,并且不会再看到这些类型的问题...... – whosrdaddy 2012-04-16 20:34:33