定义类:
unit UUpdateYouXianJi;
interface
uses
  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;
/// <summary>
/// 右击批量修改优先级
/// </summary>
type TUpdateYouXianJi = class
  public
  class procedure updateyouxianjiselected(const SValue: string; var SAdq: TADOQuery);
end;
implementation
uses FDataPool, 日常管理助手;
class procedure TUpdateYouXianJi.updateyouxianjiselected(const SValue: string; var SAdq: TADOQuery);
var
SAdoq:TADOQuery;
SBiao: string;
begin
try
SAdoq:=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;
原文:http://www.cnblogs.com/ddxxxb/p/7070474.html