異なるTableへ共通な処理をするには?

解決


奈々子  2005-04-10 21:45:16  No: 14232

昔のソフトをメンテするのですが、不安です。
n個のボタンでそれぞれ先頭にテーブル内容を
クリア(データのみ)を既存部分に今回追加します。
たとえばボタンNは、DataModul1のTableNをクリアです。

掲示板を参考に作りましたが、一般的なコードになっていますか?
procedure ClearTable(DTTable: TTable) ; //追加した共通処理
begin
  with DTTable do begin //DataModule1.TableN
    DisableControls;
    try
      First;
      while not Eof do begin
         Delete ;
         First ;
      end;
    finally
    EnableControls;
    end;
  end ;
end ;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ClearTable(DataModule1.Table1) ; // それぞれのButtonXClickに
                                    // TableXの削除処理を追加
//  以下オリジナル処理
end;


HOta  2005-04-11 02:34:02  No: 14233

奈々子さん
こんにちは。
>      while not Eof do begin
>         Delete ;
>         First ;
>      end;

     while not Eof do
         Delete ;

で同じ動作になります。

問題ないと思いますよ。ただ、データーベースの種類によれば、
コミットが必要な場合もあります。


奈々子  2005-04-14 07:02:32  No: 14234

HOtaさん、ありがとうございます。
助かりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加