Значение свойства Origin TField

Я сомневаюсь в TFieldс Origin свойство.

В документации указано:

Origin назначается только во время разработки редактором полей и только тогда, когда компонент поля используется TQueryобъект. ВOrigin Свойство отличает имя поля, отображаемое в его наборе данных, от имени поля в базовой таблице, на которой оно основано. Например, в запросе, который использует следующий оператор SQL, значениеOrigin является CUSTOMER.CUSTNO.

SELECT CUSTNO AS ID FROM CUSTOMER

В этом случае FieldName свойство это ID.

Примечание: Originнедоступен в Linux. ВOrigin Свойство реализовано только для наборов данных с поддержкой BDE, которые доступны только в продукте Windows.

Но что, если текст SQL содержит псевдонимы таблиц?

SELECT C.CUSTNO AS ID FROM CUSTOMER C

Я должен ожидать Origin ценность быть CUSTOMER.CUSTNO или должно быть C.CUSTNO?

Предыстория объяснения:

Я использую DevExpress TcxDBFilterControl который использует поля Origin собственность (в TcxDBFilterControl.GetExpressionFieldName, т.е. if Origin <> '') вместо FieldNameсвойство, для составления текста условия SQL. ВTpFIBDataSet наборы Origin к CUSTOMER.CUSTNO вместо того C.CUSTNO, поэтому мне интересно, если это TpFIBDataSet проблема (которая должна была установить Origin к C.CUSTNO) или если это TcxDBFilterControl проблема (не учитывая, что в тексте SQL могут быть псевдонимы).

0 ответов

Другие вопросы по тегам