在這里測試查詢確實很多人都出現了很多不注意的錯誤,說點檢查錯誤的一點技巧
會Debug的話,調試一下,到哪一步報錯就知道了。然后看看這一步的代碼到底錯了沒有
如果控制臺沒有拋出異常,沒有報錯,查不到結果,可以在根據程序順序在Servlet類中倒著插入輸出語句,輸出sql,慢慢檢查錯誤原因。
舉個例子,在這一節講 的代碼中插入如下輸出,從控制臺檢查
List<String>?paramList?=?new?ArrayList<String>();//緩沖字符串,便于最后給?賦值 if(command!=null&&!"".equals(command.trim())){ sql.append("?and?COMMAND=?"); //System.out.println("添加command成功,SQL語句"+sql.toString()); paramList.add(command); } if(description!=null&&!"".equals(description.trim())){ sql.append("?and?DESCRIPTION?like?'%'???'%'?"); //System.out.println("添加description成功,SQL語句"+sql.toString()); paramList.add(description); } PreparedStatement?ptmt?=?null; //System.out.println("ptmt解析的SQL語句為"+sql.toString()); ptmt?=?conn.prepareStatement(sql.toString()); for?(int?i?=?0;?i?<?paramList.size();?i++)?{ System.out.println(paramList.get(i)); ptmt.setString(i+1,?paramList.get(i)); } ResultSet?rs?=?ptmt.executeQuery();
2016-04-04
為什么還用jdbc