我的配置:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top