バリアントをダブルに変換するエラー[delphi xe + ibobjects 4.9.12
-
23-10-2019 - |
質問
私の構成:
Delphi Xe
Firebird 2.1
ibobjects 4.9.12
Windows 7 64bits
iboqueryパラメーターに値を設定しようとすると例外が表示されます(「タイプ(Unicodestring)のバリアントをタイプ(double)に変換できませんでした」)。
例外は、ib_components.pas(行42795)のtib_column.setasvariant手順から提起されます。この状況を作成するには、文字列を日付パラメーターに渡すだけです。
myQuery.paramByName('mydate').AsString := DateToStr(IncDay(Now,5));
過去25日間、私はこの状況を解決しようとしていますが、IBOサポートリストには答えがありません。
誰かがアイデアを持っていますか?
解決
iBobjectsのアーキテクチャは、すべてのパラメーター、フィールドなどを文字列またはバリアントに(実行の瞬間に)変換しています。 「MyDate」パラメーターが「DateTime」(数値)タイプの場合、応答者タイプの値で埋める必要があります。文字列で「数値」タイプパラメーターを入力するロジックではありません...
これを試して
myquery.parambyname( 'mydate')。asdateTime:= now+5; //デビッドの答えと同じです。
また
myquery.parambyname( 'mydate')。asfloat:= now+5; //またはincday(今、5)
よろしくお願いします、
ラドゥ
所属していません StackOverflow