Значение свойства 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 могут быть псевдонимы).