Ich erhalte Daten mithilfe einer Abfrage in Delphi und möchte der Abfrage ein berechnetes Feld hinzufügen, bevor es ausgeführt wird. Das berechnete Feld verwendet Werte in Code sowie die Abfrage, so dass ich es nicht einfach in SQL berechnen kann.Hinzufügen eines berechneten Felds zu einer Abfrage zur Laufzeit
Ich weiß, dass ich ein OnCalcFields
Ereignis anhängen, um tatsächlich die Berechnung zu machen, aber das Problem ist, nachdem das berechnete Feld Hinzufügen es keine anderen Felder in der Abfrage sind ...
ich einige graben tat und fand, dass alle das Feld defs erstellt werden, sondern die tatsächlichen Felder sind
nurif DefaultFields then
CreateFields
Standardfelder erstellt werden
procedure TDataSet.DoInternalOpen;
begin
FDefaultFields := FieldCount = 0;
...
end;
Whi angegeben Wenn Sie Felder hinzufügen, erhalten Sie nur die Felder, die Sie hinzugefügt haben.
Ich möchte alle Felder in der Abfrage so gut wie diejenigen, die ich hinzufügen.
Ist das möglich oder muss ich alle Felder, die ich verwende, hinzufügen?
Ich verstehe nicht, warum Sie nicht die Werte aus dem Code in SQL verwenden können .... ich bauen dynamische SQL-Anweisungen regelmäßig, dass die Verwendung Werte aus dem Code in der SQL .... – Leslie
sehen meine antwort für einen neuen weg dies zu tun seit delphi berlin –
hast du versucht, die frage vorzubereiten? Es könnte fielddefs (noch nicht Feldobjekte) –