나는 심각한 문제에 대한 해결책을 찾고 있습니다. dbGrid에서 레코드를 삭제하려고하지만 코드화 된 버튼을 클릭하고 '삭제'를 확인하면 즉시 결과가 없습니다. 삭제 된 레코드의 결과를 찾으려면 프로그램을 닫고 다시 실행해야합니다. 그래야만 그 기록이 삭제 된 것을 볼 수 있습니다. 내가 Access 데이터베이스에 연결 연결을 ADO에 연결된 ADO 테이블을 사용하고dbGrid에서 레코드 삭제하기 Delphi 2010
procedure TfrmPunte.btnDeleteClick(Sender: TObject);
var
sName, sLeerderNo : string;
begin
with dmPunte do
begin
sLeerderNo := tblLeerder['LeerderNr'];
sName := tblLeerder['NaamVan'];
if MessageDlg('Is jy seker dat jy ' + sName + ' met Leerder Nommer ' + sLeerderNo + ' wil wis van die rekords? Neem kennis dat al die rekords van sy/haar aktiwiteite ook uitgevee sal word!', mtWarning, [mbOk, mbCancel],0) = mrOK then
tblDeelname.Open;
tblDeelname.First;
while NOT tblDeelname.Eof do
begin
if tblDeelname['LeerderNr'] = sLeerderNo then
tblDeelname.Delete;
tblDeelname.Next;
end;
tblLeerder.Delete;
tblLeerder.Active := False;
tblLeerder.Active := True;
end;
end;
을 다음과 같이
내 코드는 기본적으로 보인다. 나는 사과한다. 몇몇 변수 이름은 아프리칸스어로되어있다. 어떻게해야합니까?
삭제 될 것으로 예상되는 레코드는 여전히 DB 그리드에 표시됩니다. ADO 연결을 사용하는 ADO 테이블을 사용하고 있습니다. –
빠른보기 : 삭제 후 다음은 레코드를 삭제 한 후 하나의 레코드를 건너 뜁니다. 다음에 다른 사람을 삽입해야합니다. –
"tblLeerder"와 "tblDeelname"이 둘 다 TADODataSet이고 그리드에 "tblDeelname"의 내용이 표시되어 있습니다. tblDeelname.delete 뒤에 actice : = false 및 active : = true를 포함해야합니다. tblLeerder가 DBGrid에 연결되어있는 경우 질문은 무엇을보고 싶습니까? –