Q&A

  • DbGrid에서 다중선택된 자료 삭제시 오류??
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"라는

오류 메세지가 나타나는 군요...허허~~

다중또는 한건의 선택된 자료를 지울때 어떻게 해야 할지

혹시 이문제를 해결하신분 계시면 도움을 좀 부탁합니다.

1  COMMENTS
  • Profile
    유민호 1999.06.03 21:57
    Query1.Delete는 안되지요!

    따로 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"라는

    > 오류 메세지가 나타나는 군요...허허~~

    > 다중또는 한건의 선택된 자료를 지울때 어떻게 해야 할지

    > 혹시 이문제를 해결하신분 계시면 도움을 좀 부탁합니다.