错误将变体转换为double [delphi xe + ibobjects 4.9.12
-
23-10-2019 - |
题
我的配置:
Delphi Xe
火鸟2.1
IbObjects 4.9.12
Windows 7 64Bit
当我尝试将值设置为iboquery参数时(“无法将类型(Unicodestring)变体转换为type(double)”)时,我会得到异常。
该例外是从ib_components.pas(第42795行)中的tib_column.setAsvariant过程提出的。要创建这种情况,只需尝试将字符串传递给日期参数:
myQuery.paramByName('mydate').AsString := DateToStr(IncDay(Now,5));
在过去的25天中,我试图解决这种情况,但是在IBO支持列表中,我没有答案。
有人有主意吗?
解决方案
IbObjects的体系结构(在执行时刻)将所有参数,字段等转换为字符串或变体。如果您的“ mydate”参数为“ dateTime”(数字)类型,则必须用corespondent类型值填充它。用字符串...填充“数字”类型参数不是逻辑...
尝试这个
myquery.parambyname('mydate')。asdateTime:= now+5; //与大卫的回答相同。
或者
myquery.parambyname('mydate')。asfloat:= now+5; //或INCDAY(现在,5)
此致,
radu
不隶属于 StackOverflow