Fehlerkonvertieren der Variante in doppeltes [Delphi XE + IBObjects 4.9.12
-
23-10-2019 - |
Frage
Meine Konfiguration:
Delphi XE
Firebird 2.1
Ibobjects 4.9.12
Windows 7 64bit
Ich bekomme eine Ausnahme, wenn ich versuche, einen Wert auf einen iBoquery -Parameter festzulegen ("konnte Variante des Typs (Unicodestring) nicht in Typ (doppelt) umwandeln").
Die Ausnahme wird von TIB_Column.SetAsvariant -Prozedur in ib_components.pas (Zeile 42795) erhöht. Um diese Situation zu erstellen, versuchen Sie einfach, eine Zeichenfolge an einen Datumsparameter zu übergeben:
myQuery.paramByName('mydate').AsString := DateToStr(IncDay(Now,5));
In den letzten 25 Tagen versuche ich, diese Situation zu lösen, aber in der IBO -Support -Liste habe ich keine Antworten.
Jemand hat eine Idee?
Lösung
Die Architektur von IBObjects ist (zu einem Moment der Ausführung) alle Parameter, Felder usw. in Zeichenfolge oder Varianten. Wenn Ihr "MyDate" -Parameter "datetime" (numerisch) Typ ist, müssen Sie ihn mit einem Wert von Korrespondenten ausfüllen. Ist keine Logik, um einen "numerischen" Typparameter mit einer Zeichenfolge zu füllen ...
Versuche dies
myQuery.ParambyName ('mydate'). Asdatetime: = jetzt+5; // ist dasselbe wie Davids Antwort.
oder
myQuery.ParambyName ('mydate'). Asfloat: = jetzt+5; // oder incday (jetzt, 5)
Mit freundlichen Grüßen,
Radu