在這里測(cè)試查詢確實(shí)很多人都出現(xiàn)了很多不注意的錯(cuò)誤,說(shuō)點(diǎn)檢查錯(cuò)誤的一點(diǎn)技巧
會(huì)Debug的話,調(diào)試一下,到哪一步報(bào)錯(cuò)就知道了。然后看看這一步的代碼到底錯(cuò)了沒有
如果控制臺(tái)沒有拋出異常,沒有報(bào)錯(cuò),查不到結(jié)果,可以在根據(jù)程序順序在Servlet類中倒著插入輸出語(yǔ)句,輸出sql,慢慢檢查錯(cuò)誤原因。
舉個(gè)例子,在這一節(jié)講 的代碼中插入如下輸出,從控制臺(tái)檢查
List<String>?paramList?=?new?ArrayList<String>();//緩沖字符串,便于最后給?賦值 if(command!=null&&!"".equals(command.trim())){ sql.append("?and?COMMAND=?"); //System.out.println("添加command成功,SQL語(yǔ)句"+sql.toString()); paramList.add(command); } if(description!=null&&!"".equals(description.trim())){ sql.append("?and?DESCRIPTION?like?'%'???'%'?"); //System.out.println("添加description成功,SQL語(yǔ)句"+sql.toString()); paramList.add(description); } PreparedStatement?ptmt?=?null; //System.out.println("ptmt解析的SQL語(yǔ)句為"+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