【问题标题】:How to get the table name from a column in a join query with SQL Server and FIREDAC?如何从 SQL Server 和 FIREDAC 的联接查询中的列中获取表名?
【发布时间】:2017-08-01 13:13:03
【问题描述】:

我在 TFDQuery (FireDAC) 上寻找获取元数据。

我有这个问题:

SELECT * 
FROM Table1 t1 
INNER JOIN Table2 t2 ON t1.Code = t2.code

我想知道列信息(表名,表中的真实列名,....)

我找到了这篇文章:How to get the table name from a field in a join query with MSSQL? (mysql_field_table equivalent),但我在 FireDac 上没有相同的结构。

【问题讨论】:

标签: delphi delphi-10.1-berlin firedac database-metadata


【解决方案1】:

正如 RBA 已经提到的,您必须首先在连接中启用 ExtendedMetaData。完成后,您可以通过query.GetFieldColumn(field) 获取字段列描述,并使用其ActualOriginTabNameActualOriginColName 属性访问表和列名称。

column := query.GetFieldColumn(field);
orgTableName := column.ActualOriginTabName;
orgColumnName := column.ActualOriginColName;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-27
    • 2010-11-06
    • 2016-08-16
    • 2016-06-08
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多