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());