我正在使用 TDataSet,其中 CommandText 属性设置为 SQL 查询。我还制作了以下函数,它根据 TDataSet 的字段创建 SQL 查询的一部分。然而它是不完整的。如您所见,我仍然需要获取 TField 来自的表的名称。我如何实现这一目标?
function GetDataSetFieldsMSSQL(Dataset: TDataSet): String;
var
I, L: Integer;
TableName: String;
begin
Result := '';
L := Dataset.Fields.Count;
if (L > 0) then
begin
TableName := ... // Name of the table for the Dataset.Fields[0] field.
Result := '[' + TableName + '].[' + Dataset.Fields[0].FieldName + ']';
I := 1;
while (I < L) do
begin
TableName := ... // Name of the table for the Dataset.Fields[I] field.
Result := Result + ',[' + TableName + '].[' + Dataset.Fields[I].FieldName + ']';
Inc(I);
end;
end;
end;