delete刪除全部記錄類的寫法

刪除全部記錄的類的定義以下:api

 

unit UDeleteAll;

interface
uses  FDataPool, Data.DB, Data.Win.ADODB, Vcl.Menus,  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls,
  Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd,
  Vcl.StdCtrls;

/// <summary>
/// 清空全部
/// </summary>
type TDeleteAll=class
  public
  class procedure deleteAllRecord (var sAqry:TADOQuery);
end;
implementation

uses 平常管理助手;
  class procedure TDeleteAll.deleteAllRecord (var sAqry:TADOQuery);
  var
  SBiao: string;
  begin
   SBiao:=copy(sAqry.name,4,length(sAqry.name)-3);
     try
        with TADOQuery.Create(nil) do
          begin
            Connection := frmDataPool.ADOConnection1;
            if messagedlg('刪除全部記錄?',mtconfirmation,[mbyes,mbno],0)<>mryes then
               Abort
            else
            begin
            SQL.Text := 'DELETE FROM ' + SBiao ;
            ExecSQL;
            end;
                //防止程序假死
            Application.ProcessMessages;
             //刷新下顯示
            sAqry.Close;
            sAqry.Open;

          end;
     finally
      TADOQuery.Create(nil).Free;
     end;
  end;
end.

 

 應用以下:spa

procedure TForm3.Button15Click(Sender: TObject);
begin
 TDeleteAll.deleteAllRecord(frmDataPool.qry公司利潤表);
end;

注意:用以前要先引用下類單元名;設計

如:uses UDeleteAll; orm

 

不用定義類的時候的寫法:blog

 

procedure TForm3.Button15Click(Sender: TObject);
begin
     try
        with TADOQuery.Create(nil) do
          begin
            Connection := frmDataPool.ADOConnection1;
            if messagedlg('刪除全部記錄?',mtconfirmation,[mbyes,mbno],0)<>mryes then
               Abort
            else
            begin
            SQL.Text := 'DELETE FROM 公司利潤表';
            ExecSQL;
            end;
                //防止程序假死
            Application.ProcessMessages;
             //刷新下顯示
            frmDataPool.qry公司利潤表.Close;
            frmDataPool.qry公司利潤表.Open;

          end;
     finally
      TADOQuery.Create(nil).Free;
     end;
end;

 

總結:繼承

1.運用類的封裝、繼承、多態能夠讓業務邏輯的代碼專注寫成一個類單元,方便同一相似功能的引用,避免寫屢次重複代碼;事件

2.另外也增長了代碼的簡潔易懂,讓界面設計裏的代碼儘量簡潔;ip

也方便了維護,只要改功能變更,只需對類進行更改就能夠對全部用該功能的地方修改;string

3.因爲類須要獨立單元沒有直接把代碼寫在事件裏翻看省事,若是這個功能重用次數少適合直接寫在代碼事件裏。it

相關文章
相關標籤/搜索