9

私はDelphiでクエリマネージャを使用していADOます。クエリによって返されるすべてのフィールドを知る必要があります。それらがどれほど複雑でどれだけの結合を持つかは関係ありません。私に返される関数、特定のクエリで返されるすべてのフィールド、およびテーブルなどのフィールド情報を呼び出したいのですが、このフィールドは何からのものですか。

mysql with phpには、コマンドがありmysql_field_tableます。このコマンドでは、結果オブジェクトとフィールドインデックスを渡し、このコマンドはテーブル名を返します。

それが私の夢です。次のようなクエリでフィールドインデックスからテーブル名を取得します。

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

1 に答える 1

12

を使用して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;
于 2013-03-15T12:19:17.927 に答える