为何出现“Type mistach in expression” 错误?请高手指教!我头都晕了! (100分)

  • 主题发起人 主题发起人 ZXW49362727
  • 开始时间 开始时间
Z

ZXW49362727

Unregistered / Unconfirmed
GUEST, unregistred user!
很简单的一个测试用例
SInfo.db Paradox7数据库
SID Integer
SAge Integer
SSex String[2]
用Query来更新
SQL: UPDATE "SInfo.DB" SET SAge=:SAge,SSex=:SSex WHERE SID=:OLD_ID
ParamByName('SAge').AsInteger:= 20;
ParamByName('SSex').Value:= '男';
ParamByName('OLD_SID').Value:= 96101;
出错,而去掉SAge=:SAge则正常?
百思不得其解[:(]!
请高手指教!
 
真的吗?没碰到过,先试试看。
 
ParamByName('SAge').Value:= 20;试试
 
ParamByName('SSex').asstring:= '男';
ParamByName('OLD_SID').asinteger:= 96101;
 
只是可能,请判断
QUERY中的PARAMS中的DATATYPE设置ftInteger试试。
 
谢谢各位!
To 白海森,hp_wang:我也试过,不行。
To 悟空:问题出在SAge上。
另直接在IDE中的设置Params的Vaule,再右击Query选Execute,出现同样错误!
 
把SID更改为长整型
 
看看他的类型。。。SAge 一定跟他的类型有关系
 
得“鼠标”同志提醒,发现SAge的类型为Short,改为Long Integer后一切正常。
这个例子是为了调试李维书上的一个范例为设的。
请大家帮忙解决一下为什么设为Long Integer后一切正常,而如果为Short时Param应如何设置?
散分啦!!
 
多人接受答案了。
 
后退
顶部