I'm doing a query manager in Delphi using ADO
, I need to know all fields that will be returned by a query, does no matter how complex and how much joins they will have. I want to call a function, that return to me, all fields that will be returned in a specific query, and fields information, like table what is this field from.
In mysql with php, I have the command mysql_field_table
, in this command I pass the result object and the field index and this command return the table name for me.
Well, that is my dream, get the table name from a field index in a query like:
SELECT * FROM TableOne Left Join Table2 ON Table2.MasterField = Table1.KeyField
You could use a TADODataSet
to fetch the Recordset
, iterate the Fields
collection, and get the tables/fields names like this:
for I := 0 to ADODataSet1.Recordset.Fields.Count - 1 do
begin
TableName := ADODataSet1.Recordset.Fields[i].Properties['BASETABLENAME'].Value;
FieldName := ADODataSet1.Recordset.Fields[i].Properties['BASECOLUMNNAME'].Value;
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With