定义类:
unit UUpdateYouXianJi;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Data.DB, Data.Win.ADODB, Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd, Vcl.Menus, Vcl.StdCtrls, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh, EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh,EhLibADO,DBGridEhImpExp;////// 右击批量修改优先级/// type TUpdateYouXianJi = class public class procedure updateyouxianjiselected(const SValue: string; var SAdq: TADOQuery);end;implementationuses FDataPool, 日常管理助手;class procedure TUpdateYouXianJi.updateyouxianjiselected(const SValue: string; var SAdq: TADOQuery);varSAdoq:TADOQuery;SBiao: string;begintrySAdoq:=TADOQuery.Create(nil);SAdoq.Connection:=frmDataPool.ADOConnection1;SBiao:=copy(SAdq.name,4,length(SAdq.name)-3); with SAdoq do begin SQL.Text:='UPDATE '+SBiao+' SET 优先级 = '+SValue.QuotedString+' WHERE 选中 = true'; ExecSQL; end; //防止程序假死 Application.ProcessMessages; //刷新纪录 SAdq.Requery();finally SAdoq.Free;end;end;end.
类实现应用:
注意添加引用类的单元名UUpdateYouXianJi
procedure TForm3.N29Click(Sender: TObject);begin //批量更新优先级为高 TUpdateYouXianJi.updateyouxianjiselected('高',frmDataPool.qry需要做的事);end;procedure TForm3.N30Click(Sender: TObject);begin//批量修改为普通TUpdateYouXianJi.updateyouxianjiselected('普通',frmDataPool.qry需要做的事);end;procedure TForm3.N31Click(Sender: TObject);begin//批量修改为低TUpdateYouXianJi.updateyouxianjiselected('低',frmDataPool.qry需要做的事);end;