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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top