我剛剛學會了通過Eclipse調試器遍歷我的代碼。 但是,我不知道爲什麼這個過程繼續回到71 - ps.executeUpdate()
,而控制檯提到了第79行的錯誤,並且還提到了其他類的其他錯誤行。希望有人能告訴我發生了什麼事。有人能告訴我Eclipse調試的錯誤意味着什麼?
這裏有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();
}
}
請顯示錯誤以及代碼都是文字,而不是截圖。 – luk2302
我懷疑你在循環內執行預處理語句的方式,我認爲這可能會導致問題 –
@YCF_L,你能更清楚地瞭解問題嗎?我應該把String []子放在try之外嗎?或... Sori ..但我不清楚.. –