我有存储过程,需要两个字符串和一个整数参数来执行。我正在尝试通过
执行存储过程MySQLString="DataWindow.Table.Select=~"CALL MYPROC('" + strarg1+ '", "' + intarg + "' ,'" + strarg2+"')~""
dw_1.Modify(lsSQLString)
dw_1.Retrieve()
这会抛出像Incompatible types in expression: string, integer
有人可以解释DataWindow.Table.Select
是否支持传递上述intarg
之类的整数参数吗?
答案 0 :(得分:1)
如果strarg1
和strarg2
都属于string
类型,而intarg
属于integer
,则无法将它们与+
连接到MySQLString
制作字符串integer
。
这就是编译器试图用
告诉你的表达式中不兼容的类型:字符串,整数
您必须使用string
转换string(intarg)
中的MySQLString="DataWindow.Table.Select=~"CALL MYPROC('" + strarg1+ '", "' + string(intarg) + "' ,'" + strarg2+"')~""
:
// Handle radix specifier, if present
if (nm.startsWith("0x", index) || nm.startsWith("0X", index)) {
index += 2;
radix = 16;
}