【发布时间】:2017-10-03 09:30:59
【问题描述】:
try{
String query="insert into result(std_id,exam_id,date,score,status) values(?,?,?,?,?);";
PreparedStatement pstmt=DatabaseConnector.getPreparedStatement(query);
pstmt.setInt(1,rd.getStd_id());
pstmt.setInt(2,rd.getEx_id());
pstmt.setString(3,rd.getDate());
pstmt.setDouble(4,rd.getScore());
pstmt.setInt(5,rd.getStatus());
**int i=pstmt.executeUpdate();** //error line line 31
if(i==1){
result=Results.SUCCESS;
}
else
result=Results.FAILURE;
}
参数列表看起来正确但仍然显示上述错误....
【问题讨论】:
-
正确格式化你的代码......
-
异常它自己表明“结果”接受 4 个输入参数,但您传递了 5 个
-
您确定这是您实际运行的代码,它产生了错误吗?我看到了五个通配符,而且代码在我看来还不错,至少乍一看是这样。
-
getPreparedStatement定义在哪里? -
懒得检查,但是参数是从 1 还是从 0 开始索引的?如果确实从 1 作为您的代码所建议的那样,那是 JDBC 家伙 AFAIC 的一个奇怪的设计决定。
标签: java mysql parameters