如何从一个领域与MSSQL连接查询得到表名? (mysql_field_table当量)(How

2019-08-17 15:41发布

我使用的是做一个查询管理在Delphi中ADO ,我需要知道将被查询返回的所有领域,确实无论多么复杂,多么加入他们都会有。 我想调用一个函数,返回给我,说会在一个特定的查询返回的所有字段,字段的信息,如表什么是这个领域。

在与PHP的MySQL,我有命令mysql_field_table ,在此命令我通过结果对象和领域的指数和该命令我回到表名。

嗯,这是我的梦想,从查询的字段指数得到表名,如:

SELECT * FROM TableOne Left Join Table2 ON Table2.MasterField = Table1.KeyField

Answer 1:

你可以使用一个TADODataSet来获取Recordset ,迭代的Fields集,并获得了表/字段名称如下:

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;


文章来源: How to get the table name from a field in a join query with MSSQL? (mysql_field_table equivalent)