当前位置: 代码迷 >> Java Web开发 >> java.sql.SQLException: ORA-01722: 无效数字,该如何解决
  详细解决方案

java.sql.SQLException: ORA-01722: 无效数字,该如何解决

热度:272   发布时间:2016-04-10 23:05:16.0
java.sql.SQLException: ORA-01722: 无效数字
public boolean insert(Bills bill) {
//连接数据库
openConnection();
String sql = "insert into bill(Bill_id,Good_name,Good_amount,Good_price," +
"Order_status,PROVIDER_ID,Good_describe,Bill_date,unit)  " +
"values(?,?,?,?,?,?,?,?,?)";
boolean isInserted = false;
try {
ps=con.prepareStatement(sql);
ps.setLong(1,bill.getBid());
ps.setString(2,bill.getProductName());
ps.setInt(3, bill.getAmount());
ps.setDouble(4, bill.getMoney());
ps.setString(5, bill.getIsPay());
ps.setLong(6, bill.getSid());
ps.setString(7, bill.getDescription());
ps.setDate(8, bill.getTradeTime());
ps.setString(9, bill.getUnit());
int rows=ps.executeUpdate();
isInserted = rows > 0 ? true:false;
} catch (SQLException e) {
e.printStackTrace();
}finally{
shutdown();
}
return isInserted;
}


数据库:

------解决方案--------------------
是你的主键或者外键的数据类型不对头吧,你好好检查一下程序里面的数据类型和数据库里面的数据类型。
------解决方案--------------------
检查一下各个字段的属性和数据库中的一致否
------解决方案--------------------
类型不对,把第5个改成:
ps.setInt(5, bill.getIsPay());
  相关解决方案