我正在使用DBGrid编写一些内容,但是我不能通过FDQuery获取足够的数据。我想要在“FDQuery”数据之外添加自定义数据。我找到了一个组件,应该能够做到这一点,它被称为FDMemTable。我可以从FDQuery中获取数据到FDMemTable,但我无法添加一个新字段来放置不同的数据。所以我的问题是如何正确地连接数据与FDQuery,并在FDMemTable中添加额外的列。
procedure TWorkflowDM.Temp;
var
Error: string;
Temp: string;
begin
try
FDQuery1.Open;
FDQuery1.FetchAll;
FDMemTable1.Data:= FDQuery1.Data;
FDMemTable1.FieldDefs.Add('Test', ftString, 20, False); <-ERROR (Error 'FDMemTable1: Field ''Test'' not found')
FDMemTable1.Open;
FDMemTable1.First;
while not FDMemTable1.Eof do
begin
Temp:= FDMemTable1.FieldByName('Test').AsString;
FDMemTable1.Next;
end;
except
on E: Exception do
Error:= E.Message;
end;
end;
SELECT Column1, Column2, Column3, ' ' AS MyNewCol FROM MyTable WHERE SomeCondition
添加了一个新的字符列,可以接受最多10个字符。然后您可以在其他地方使用FieldByName('MyNewCol')
。(当然,将 MyNewCol 替换为您想要的任何其他列别名。)如果您使用的 DBMS 支持像REPEAT
或REPLICATE
这样的函数,则可以使用它们来代替空格。 - Ken White