私はテーブルに大量のデータを投稿するだけでなく、テーブル内の値を変更する必要があるアプリケーションを作成しています。データテーブルのエラーを防ぐテーブルを扱う
私がアプリケーションを書くときはいつも、'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