zoukankan      html  css  js  c++  java
  • delete删除所有记录类的写法

    删除所有记录的类的定义如下:

    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.
    

     应用如下:

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

    注意:用之前要先引用下类单元名;

    如:uses UDeleteAll; 

    不用定义类的时候的写法:

    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.另外也增加了代码的简洁易懂,让界面设计里的代码尽可能简洁;

    也方便了维护,只要改功能变动,只需对类进行更改就可以对所有用该功能的地方修改;

    3.由于类需要独立单元没有直接把代码写在事件里翻看省事,如果这个功能重用次数少适合直接写在代码事件里。

  • 相关阅读:
    windows快捷键
    android录音实现不再担心—一个案例帮你解决你的问题
    区块链到底是个什么鬼?一幅漫画让你秒懂!
    10个优秀个android项目,精选|快速开发
    精文推荐,12个开源项目开发必备,绝对干货
    送书拉! 08年新开始|福利近在咫尺
    用Kotlin破解Android版微信小游戏-跳一跳
    聊一聊正则表达式,最全最常用总结
    11个优秀的Android开发开源项目
    一招教你打造一个滑动置顶的视觉特效
  • 原文地址:https://www.cnblogs.com/ddxxxb/p/6979961.html
Copyright © 2011-2022 走看看