Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用setObject方法时出现算术溢出或其他算术异常_Java_Sql - Fatal编程技术网

Java 使用setObject方法时出现算术溢出或其他算术异常

Java 使用setObject方法时出现算术溢出或其他算术异常,java,sql,Java,Sql,下面是我试图在Prepared语句中处理的查询。其中,AMOUNTHAND&ReorderPointAmt的数据类型为Decimal Query 1: SELECT AmountOnHand FROM TableA WHERE AmountOnHand <= (ReorderPointAmt*56.0/100); 我可以通过如下更新查询来解决此问题 Query 3: SELECT AmountOnHand FROM TableA WHERE AmountOnHand <= (Re

下面是我试图在Prepared语句中处理的查询。其中,AMOUNTHAND&ReorderPointAmt的数据类型为Decimal

Query 1: SELECT AmountOnHand FROM TableA WHERE AmountOnHand <= (ReorderPointAmt*56.0/100);
我可以通过如下更新查询来解决此问题

 Query 3: SELECT AmountOnHand FROM TableA WHERE AmountOnHand <= (ReorderPointAmt * CAST(? AS DECIMAL));

Query 3:从表A中选择amonthand,其中amonthand使用任何适当的数据类型,如
java.sql.PreparedStatement.setString(索引,“字符串值”)

setInt()
setDouble()

能否尝试使用
java.sql.PreparedStatement.setDouble
问题是java.sql.PreparedStatement.setObject(..)随框架一起提供。我不想编辑它。你确定
ReorderPointAmt
Decimal
?@HamletHakobyan是的,它是十进制的(30,15)。问题是java.sql.PreparedStatement.setObject(..)随框架而来。我不想编辑那个。
Arithmetic overflow or other arithmetic exception occurred.. SQLCODE=-802, SQLSTATE=22003, DRIVER=4.15.82.
 Query 3: SELECT AmountOnHand FROM TableA WHERE AmountOnHand <= (ReorderPointAmt * CAST(? AS DECIMAL));