Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[8013] Re:[질문] DBGrid에서 현재 선택된 행만 삭제하기
신호성 [] 3029 읽음    2002-03-19 10:26
// 아래는 제가 실무에서 사용하고 있는 함수 입니다.
// 실제 내용은 조금 복잡하지만 간단하게 정리하여 올립니다.

// DBGrid의 선택된 행 삭제하기
// DBGrid와 연결된 Dataset이 TQuery이고 TUpdateSQL이 연결되어 있는경우


procedure  GfDeleteSelectRows(Grid:TDBGrid);
var
  i : Integer;
begin

  try
    Grid.DataSource.DataSet.DisableControls;

    for i:=0 to Grid.SelectedRows.count -1 do
    Begin
      Grid.DataSource.Dataset.BookMark := Grid.SelectedRows.Items[i];
      Grid.DataSource.Dataset.Delete;
    end;

   
    try
      if TQuery(Grid.DataSource.Dataset).CachedUpdates then
        TQuery(Grid.DataSource.Dataset).ApplyUpdates
      else
        TQuery(Grid.DataSource.Dataset).Post;
    except
      on E:Exception do
        ShowMessage(E.Message);
    end;   

  finally
    Grid.SelectedRows.Clear;
    Grid.DataSource.DataSet.EnableControls;
  end;
end;


나사 님이 쓰신 글 :
: 우선 전 DB 프로그램을 첨으로 해봅니다.
: 아래와 같이 하면 테이블안의 레코드 전체가 삭제되는데
: 전 DBGrid 에서 현재 Select 되어 있는 행만 삭제하고
: 싶습니다.
: DB 프로그램이 첨이라 그런지 좀 어렵습니다.
: DB는 오라클이며 델파이5.0을 사용하고 OS는 2000pro 입니다.
:
:
: with wwQRSel do begin
:                 Close;
:                 Sql.Clear;
:                 Sql.Add('Delete FROM Table');
:                 ExecSQL;
:
:            end;
:
: 도움 부탁드리겠습니다. 좋은 하루들 되시길 바랍니다.

+ -

관련 글 리스트
8010 [질문] DBGrid에서 현재 선택된 행만 삭제하는 방법을 알고싶습니다. 나사 604 2002/03/18
8013     Re:[질문] DBGrid에서 현재 선택된 행만 삭제하기 신호성 3029 2002/03/19
8012     Re:[질문] DBGrid에서 현재 선택된 행만 삭제하는 방법을 알고싶습니다. 류종택 1047 2002/03/18
8011     Re:[질문] DBGrid에서 현재 선택된 행만 삭제하는 방법을 알고싶습니다. 지나가는 사람 939 2002/03/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.