unit ProcessDetail; 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 TProcessDetail = class(TwItem) private { Private declarations } FOrdNum: string; FDescriptions: string; FKind: string; protected { Protected declarations } public { Public declarations } class function xAddSqlMark(velStr: string): string; class function xGetStrSqlProcDetAllList(AQuery: TFDQuery): TList; class function LoadFromQuery(AQuery: TFDQuery): TList; published { Published declarations } property OrdNum: string read FOrdNum write FOrdNum; property Descriptions: string read FDescriptions write FDescriptions; property Kind: string read FKind write FKind; end; implementation { TProcessDetail } class function TProcessDetail.LoadFromQuery(AQuery: TFDQuery): TList; var curDet: TProcessDetail; begin Result := TList.Create; while not AQuery.Eof do begin curDet := TProcessDetail.Create(nil); curDet.OBID := AQuery.FieldByName('OBID').AsString; curDet.Name := AQuery.FieldByName('Name').AsString; curDet.wClassName := AQuery.FieldByName('wClassName').AsString; curDet.CreateDate := AQuery.FieldByName('CreateDate').AsString; curDet.CreateTime := FormatDateTime('hh:nn:ss', AQuery.FieldByName('CreateTime').AsDateTime); curDet.CreatorID := AQuery.FieldByName('CreatorID').AsString; curDet.IsValid := AQuery.FieldByName('IsValid').AsString; curDet.LcStatus := AQuery.FieldByName('LcStatus').AsString; curDet.OrdNum := AQuery.FieldByName('OrdNum').AsString; curDet.Descriptions := AQuery.FieldByName('Descriptions').AsString; curDet.Kind := AQuery.FieldByName('Kind').AsString; Result.Add(curDet); AQuery.Next; end; end; class function TProcessDetail.xAddSqlMark(velStr: string): string; begin Result := ''; Result := '''' + velStr + ''''; end; class function TProcessDetail.xGetStrSqlProcDetAllList(AQuery: TFDQuery): TList; var sql: string; begin Result := nil; sql := 'SELECT * FROM "ProcessDetail"'; sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t'); try AQuery.Close; AQuery.SQL.Text := sql; AQuery.Open; except on E: Exception do ShowMessage('xGetProcessDetailAllList Äõ¸® ½ÇÇà ¿À·ù: ' + E.Message); end; Result := LoadFromQuery(AQuery); end; end.