【发布时间】:2017-06-10 14:00:06
【问题描述】:
我刚刚学会了通过 Eclipse 调试器浏览我的代码。
但是,我不知道为什么该过程一直返回到第 71 行 - ps.executeUpdate() 而控制台在第 79 行提到了错误,并且还提到了其他类的其他错误行。希望有人能告诉我这是怎么回事。
这是关于subjectDAOImpl的代码:
public void insertSubject(subject s) throws MyDataException {
try {
openConnection();
String qry = INSERT_QRY1;
//"INSERT INTO hi5project.subject(subject)VALUES (?)";
ps = connection.prepareStatement(qry);
int i = 0;
String[] sub = new String[3];
while(i < sub.length){
String e = s.getSubj();
ps.setString(1, e);
ps.executeUpdate(); - line 71
}
if (ps !=null )
closeConnection();
}catch (SQLException e) {
e.printStackTrace();
throw new MyDataException("DB Error"); - line79
}
}
控制器:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
subject m = new subject();
manager mgr = new manager();
try {
String[] sub = request.getParameterValues("subject");
int i = 0;
while (i < sub.length) {
sub[i] = m.getSubj();
mgr.insertSubject(m);
out.println("Successful registered subject");
}
} catch (Exception ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
【问题讨论】:
-
请将错误和代码显示为文本,而不是屏幕截图。
-
我怀疑您在循环中执行准备好的语句的方式,我认为这可能会导致问题
-
@YCF_L,您能否更清楚地了解这个问题?我应该把 String[]sub 放在 try 之外吗?或...Sori..但我不清楚..
-
检查我的答案@KarenGoh
标签: java mysql sql eclipse jdbc