我可以将整数参数传递给DW.Table.Select

时间:2017-03-17 14:42:13

标签: powerbuilder

我有存储过程,需要两个字符串和一个整数参数来执行。我正在尝试通过

执行存储过程
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之类的整数参数吗?

1 个答案:

答案 0 :(得分:1)

如果strarg1strarg2都属于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;
        }