我正在尝试使用JDBC,而我的查询在某些情况下有效,但在其他情况下则无效。我真的很感谢您的帮助。
我的一些代码:
public Result getSpecificTopic() { String query = "Select msg_body, msg_author from lawers_topic_msg";// where msg_id=2 order by msg_id desc"; try { con = mysql.getConnection(); //Statement stmt = con.createStatement(); PreparedStatement stmt = con.prepareStatement(query); //stmt.setInt(1, topicId); ResultSet rs = stmt.executeQuery(query); int rowCount = rs.getRow(); specificTopic = ResultSupport.toResult(rs); con.close(); stmt.close(); } catch(Exception e) { } return this.specificTopic; } public void setTopicId(String num) { this.topicId = Integer.parseInt(num); } public int getTopicId() { return this.topicId; }
但是如果我改变
String query = "Select msg_body, msg_author from lawers_topic_msg";
到
String query = "Select msg_body, msg_author from lawers_topic_msg where msg_id = " + topicId;
然后结果集什么也不会改变。。。。我在这里伤脑筋,仍然无法找出问题所在。
第一步,值得确保不引发异常-至少将某些内容记录在catch()块中。
还值得记录所生成的SQL,并确保在直接运行它时,它实际上从数据库返回了您期望的结果。
如果您有多个数据库,则值得一提的是,您正在与自己认为的数据库相对比-我很尴尬地承认我以前被这种方式所困扰。