【发布时间】:2013-07-30 06:12:27
【问题描述】:
String expression = CHEMICAL_REORDERPOINT + "*" + searchRequest.getReorderPercentage() + "/100)";
之前:
String expression = CHEMICAL_REORDERPOINT + "*" + searchRequest.getReorderPercentage() + "/100)";
searchRequest.getReorderPercentage() 在提交值后动态来自浏览器。
让我们为searchRequest.getReorderPercentage() = 50 取值
so String expression = CHEMICAL_REORDERPOINT*50/100;
这是在我的应用程序中的 JDBC 的准备语句中填充的,因此为了维护我以下列方式使用的准备语句规则:
之后:
String expression = CHEMICAL_REORDERPOINT + "*?)"
String str = searchRequest.getReorderPercentage() + "/100";
params.add(str)
这里的params是一个列表,参数将被迭代,并在执行时被放置在prepare语句的位置参数中。
但现在我遇到了异常 无效的数据转换:参数实例 50.0/100 对请求的转换无效。 ERRORCODE=-4461,SQLSTATE=42815
请任何人帮助我。谢谢
【问题讨论】:
-
这不是 SQL。请更改标签
-
@LuisLL 在我看来他正在构建一个 SQL 查询,但我同意如果他包含实际生成的 SQL 查询会更好
-
不是 jdbc+db2 方面的专家,但是......使用表达式而不是值来指定参数是否合法?是不是把参数解释为字符串,所以生成的sql是“*'50/100'”导致转换错误?