Я получаю данные с использованием запроса в Delphi и хотел бы добавить вычисленное поле к запросу до его запуска. Вычисленное поле использует значения в коде, а также запрос, поэтому я не могу просто вычислить его в SQL.Добавление вычисленного поля в Query во время выполнения
Я знаю, что могу прикрепить OnCalcFields
событие на самом деле сделать расчет, но проблема после добавления вычисляемого поля не существует никаких других полей в запросе ...
Я сделал некоторые раскопки и обнаружил, что все поля DEFS созданы, но фактические поля создаются только
if DefaultFields then
CreateFields
поля по умолчанию задается
procedure TDataSet.DoInternalOpen;
begin
FDefaultFields := FieldCount = 0;
...
end;
Whi ch будет указывать, что если вы добавляете поля, вы получаете только поля, которые вы добавили.
Я хотел бы, чтобы все поля в запросе были такими же, как те, которые я добавляю.
Возможно ли это, или я должен добавить все поля, которые я использую?
Я не понимаю, почему вы не можете использовать значение из кода в вашем SQL .... Я построить динамические операторы SQL регулярно, что значения использования из кода в SQL .... – Leslie
см мой ответ на новый способ сделать это, так как delphi Berlin –
вы пытались ПОДГОТОВИТЬ запрос? Он мог бы создать fielddefs (но еще не объекты полей) –