如题。
我在做jsp时,报com.microsoft.sqlserver.jdbc.SQLServerException: 没有为参数号 6 设置值 这个异常。
报错的代码:
public int insertOrder(Order o, Connection con)throws Exception {
PreparedStatement pre=null;
int id = 0;
String sql = "insert into OrderInfo(ONum,Uid,Phone,Email,Res,TotalPrice,Discount)values(?,?,?,?,?,?,?)";
if (o.getState() == StateEnum.Buy) {
sql = "insert into OrderInfo(ONum,Uid,Phone,Email,Res,TotalPrice,Discount,State)values(?,?,?,?,?,?,?,'B')";
}
try {
pre = con.prepareStatement(sql);
pre.setString(1, o.getOrderNum());
pre.setInt(2, o.getUid());
pre.setString(3, o.getPhone());
pre.setString(4, o.getEmail());
pre.setString(5, o.getRes());
pre.setDouble(5, o.getTotalPrice());
pre.setFloat(7, o.getDiscount());
if(o.getState()==StateEnum.Buy){
pre.setString(8, "B");
}
pre.executeUpdate();
sql = "select @@identity";
pre = con.prepareStatement(sql);
res = pre.executeQuery();
if (res.next()) {
id = res.getInt(1);
}
} catch (Exception e) {
throw e;
} finally {
this.closeAll(pre);
}
return id;
}
个位高手指教一下,谢谢拉。