String expression = CHEMICAL_REORDERPOINT + "*" + searchRequest.getReorderPercentage() + "/100)";
前 :
searchRequest.getReorderPercentage()提交值后,动态地来自浏览器。让我们为searchRequest.getReorderPercentage() = 50
searchRequest.getReorderPercentage()
searchRequest.getReorderPercentage() = 50
so String expression = CHEMICAL_REORDERPOINT*50/100;
这是JDBC在我的应用程序的prepared语句中填充的,因此要保持我以以下方式使用的prepare语句规则:
JDBC
后 :
String expression = CHEMICAL_REORDERPOINT + "*?)" String str = searchRequest.getReorderPercentage() + "/100"; params.add(str)
这里的params是一个列表,从中可以迭代参数,并在执行语句时将其放置在prepare语句的位置参数中。
但是现在我收到了像 无效数据转换 这样的异常 :参数实例50.0 / 100对于请求的转换无效。 错误代码= -4461,SQLSTATE = 42815
请任何人帮我。谢谢
参数化查询字符串应类似于“ whatever is in CHEMICAL_REORDERPOINT * (? / 100)”,并且应使用setDouble()或setFloat()而不是字符串来设置百分比值。现在,您正在尝试告诉DB2将任何内容乘以字符串,这没有多大意义。
whatever is in CHEMICAL_REORDERPOINT * (? / 100)