To get meta information about TUniQuery dataset field, you can use the GetFieldDesc method of TUniQuery. As an argument this method can accept:
- the TField field instance
- a field name as a string value
- a field ordinal number in dataset as an integer value
In UniDAC, the TFieldDesc class is developed for internal use, so its description is missing in the documentation and can be changed at any time.
For example, obtaining the table name, field name for TUniQuery dataset field:
Code: Select all
uses
SqlClassesUni;
procedure TForm.Button1Click(Sender: TObject);
var
i: Integer;
FieldDesc: TSqlFieldDesc;
begin
UniQuery1.SQL.Text := 'SELECT table1.id, table2.name, table2.value' +
'FROM table1, table2' +
'WHERE table table2.id = table1.id';
UniQuery1.Open;
for i := 0 to UniQuery1.Fields.Count - 1 do begin
FieldDesc := TSqlFieldDesc(UniQuery1.GetFieldDesc(UniQuery1.Fields[i]));
Memo1.Lines.Add(FieldDesc.TableInfo.TableName + '.' + FieldDesc.ActualName + '(' + FieldDesc.Name + ')');
end;
end;