96 lines
3.0 KiB
ObjectPascal
96 lines
3.0 KiB
ObjectPascal
unit ProgVersionMst;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||
wItem,
|
||
FireDAC.Stan.Intf,
|
||
FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf,
|
||
FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys,
|
||
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
|
||
FireDAC.Phys.PGDef, FireDAC.VCLUI.Wait, FireDAC.Comp.UI, FireDAC.Phys.PG,
|
||
Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client;
|
||
|
||
type
|
||
TProgVersionMst = class(TwItem)
|
||
private
|
||
{ Private declarations }
|
||
FExeName: AnsiString;
|
||
FUpdateTime: AnsiString;
|
||
FMajor: AnsiString;
|
||
FMinor: AnsiString;
|
||
FPatch: AnsiString;
|
||
protected
|
||
{ Protected declarations }
|
||
public
|
||
{ Public declarations }
|
||
class function xGetObjMesProgVersion(AQuery: TFDQuery): TProgVersionMst;
|
||
class function xAddSqlMark(velStr: string): string;
|
||
class function LoadFromSingleQuery(AQuery: TFDQuery): TProgVersionMst;
|
||
published
|
||
{ Published declarations }
|
||
property ExeName: AnsiString read FExeName write FExeName;
|
||
property UpdateTime: AnsiString read FUpdateTime write FUpdateTime;
|
||
property Major: AnsiString read FMajor write FMajor;
|
||
property Minor: AnsiString read FMinor write FMinor;
|
||
property Patch: AnsiString read FPatch write FPatch;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{ TProgVersionMst }
|
||
|
||
class function TProgVersionMst.LoadFromSingleQuery(AQuery: TFDQuery): TProgVersionMst;
|
||
begin
|
||
Result := nil;
|
||
while not AQuery.Eof do begin
|
||
Result := TProgVersionMst.Create(nil);
|
||
Result.OBID := AQuery.FieldByName('OBID').AsString;
|
||
Result.Name := AQuery.FieldByName('Name').AsString;
|
||
Result.wClassName := AQuery.FieldByName('wClassName').AsString;
|
||
Result.CreateDate := AQuery.FieldByName('CreateDate').AsString;
|
||
Result.CreateTime := FormatDateTime('hh:nn:ss', AQuery.FieldByName('CreateTime').AsDateTime);
|
||
Result.CreatorID := AQuery.FieldByName('CreatorID').AsString;
|
||
Result.IsValid := AQuery.FieldByName('IsValid').AsString;
|
||
Result.LcStatus := AQuery.FieldByName('LcStatus').AsString;
|
||
|
||
Result.ExeName := AQuery.FieldByName('ExeName').AsString;
|
||
Result.UpdateTime := AQuery.FieldByName('UpdateTime').AsString;
|
||
Result.Major := AQuery.FieldByName('Major').AsString;
|
||
Result.Minor := AQuery.FieldByName('Minor').AsString;
|
||
Result.Patch := AQuery.FieldByName('Patch').AsString;
|
||
|
||
AQuery.Next;
|
||
end;
|
||
end;
|
||
|
||
class function TProgVersionMst.xAddSqlMark(velStr: string): string;
|
||
begin
|
||
Result := '';
|
||
Result := '''' + velStr + '''';
|
||
end;
|
||
|
||
class function TProgVersionMst.xGetObjMesProgVersion(
|
||
AQuery: TFDQuery): TProgVersionMst;
|
||
var
|
||
sql: string;
|
||
begin
|
||
Result := nil;
|
||
sql := 'SELECT * FROM "ProgVersionMst"';
|
||
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
|
||
sql := sql + ' AND "ExeName"=' + xAddSqlMark('NeolMes.exe');
|
||
|
||
try
|
||
AQuery.Close;
|
||
AQuery.SQL.Text := sql;
|
||
AQuery.Open;
|
||
except
|
||
on E: Exception do ShowMessage('xGetObjMesProgVersion <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
|
||
end;
|
||
Result := LoadFromSingleQuery(AQuery);
|
||
end;
|
||
|
||
end.
|
||
|