9

我正在使用 Delphi 做一个查询管理器ADO,我需要知道查询将返回的所有字段,不管它们有多复杂和有多少连接。我想调用一个函数,该函数返回给我,将在特定查询中返回的所有字段,以及字段信息,例如该字段来自什么表。

在带有 php 的 mysql 中,我有命令mysql_field_table,在这个命令中我传递结果对象和字段索引,这个命令为我返回表名。

好吧,那是我的梦想,从查询中的字段索引中获取表名,例如:

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

1 回答 1

12

您可以使用 aTADODataSet来获取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;
于 2013-03-15T12:19:17.927 回答