Dbgrid에서 다중 선택된 자료또는 한건의 선택된 자료를 지울려고 하는데
다소의 문제점이 있습니다..
Procedure Tform1.ButtonDeleteSelect(Sender:Tobject);
var
i: integer;
Begin
with Dbgrid1 do
for i:=0 to SelectedRows.count -1 do Begin
Query1.BookMark := SelectedRows[i];
Query1.Delete; { Query1은 Dbgird1과 연결되어 있음 }
End;
end;
위의 코드는 여러개의 자료를 다중으로 DbGrid에 선택된 자료를
지울때는 별 다른 문제가 없는데...
레코드 1건을 선택하고 위의 코드를 실행하고 나서
다시 버턴을 눌러 위의 코드를 실행하게 되면 "Key/Record Deleted"라는
오류 메세지가 나타나는 군요...허허~~
다중또는 한건의 선택된 자료를 지울때 어떻게 해야 할지
혹시 이문제를 해결하신분 계시면 도움을 좀 부탁합니다.
따로 Delete SQL문장을 쓰시던가 아니면 TTable을 사용하세요.
그리고 Table 사용시 거꾸로 지워보세요..
처음 삭제된 후에는 SelectedRows[i]값이
정확히 선택된 Row를 가리키지 못합니다.
for i:=0 to SelectedRows.count -1 do
--> for i:= SelectedRows.count-1 downto 0 do
송기원 께서 말씀하시기를...
> Dbgrid에서 다중 선택된 자료또는 한건의 선택된 자료를 지울려고 하는데
> 다소의 문제점이 있습니다..
>
> Procedure Tform1.ButtonDeleteSelect(Sender:Tobject);
> var
> i: integer;
> Begin
> with Dbgrid1 do
> for i:=0 to SelectedRows.count -1 do Begin
> Query1.BookMark := SelectedRows[i];
> Query1.Delete; { Query1은 Dbgird1과 연결되어 있음 }
> End;
> end;
>
> 위의 코드는 여러개의 자료를 다중으로 DbGrid에 선택된 자료를
> 지울때는 별 다른 문제가 없는데...
> 레코드 1건을 선택하고 위의 코드를 실행하고 나서
> 다시 버턴을 눌러 위의 코드를 실행하게 되면 "Key/Record Deleted"라는
> 오류 메세지가 나타나는 군요...허허~~
> 다중또는 한건의 선택된 자료를 지울때 어떻게 해야 할지
> 혹시 이문제를 해결하신분 계시면 도움을 좀 부탁합니다.