Q&A

  • 테이블의 내용만 다 지우는 방법???
테이블은 살려두고 안에 내용만 지우려고 하려면 어떻게 하는지

아시는 부탁합니다.

2  COMMENTS
  • Profile
    백근훈 2000.09.28 20:30
    조헌철 wrote:

    > 테이블은 살려두고 안에 내용만 지우려고 하려면 어떻게 하는지

    > 아시는 부탁합니다.



    특정행만 삭제하기 위해서 where 을 쓰지요...



    따라서, 모든행을 삭제하기 위해서는 where 을 생략하면 됩니다.

    이렇게 하면, 모든 row는 지우지만 테이블 자체는 지우지 않습니다.



  • Profile
    강호규 2000.09.29 07:54
    만일

    TDataSet을 TTable로 액세스하신다면 EmptyTable 메서드를 이용하시는 것이

    좋을거 같습니다.

    아마 자동으로 Packing까지 되는 거 같거든요...



    아래는 제가 사용했던 코드입니다.

    따로 정리는 하지 않았습니다.



    try

    if MessageBox('파일의 모든 내용을'+#10+#10+

    '삭제하시겠습니까?','확인', 68) = ID_YES then begin

    if DM.TableHis.State <> dsInactive then DM.TableHis.Close;

    DM.TableHis.TableName := 'SmsHis.DB';

    DM.TableHis.Exclusive := True;

    DM.TableHis.ReadOnly := False;

    DM.TableHis.Open;

    DM.TableHis.EmptyTable;

    DM.TableHis.Close;



    DM.TableHis.TableName := 'PreHis.DB';

    DM.TableHis.Exclusive := True;

    DM.TableHis.ReadOnly := False;

    DM.TableHis.Open;

    DM.TableHis.EmptyTable;

    end;

    finally

    DM.TableHis.Close;

    BntEmptyHis.Enabled := True;

    end;