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.由于类需要独立单元没有直接把代码写在事件里翻看省事,如果这个功能重用次数少适合直接写在代码事件里。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥