修改优先级(类写法)
定义类:
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;