많은 데이터를 테이블에 게시하고 테이블 내의 값을 변경해야하는 애플리케이션을 만듭니다.데이터 테이블 오류 방지
대부분의 응용 프로그램을 쓸 때마다 '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