一尘不染

JDBC的奇怪问题,选择返回null

jsp

我正在尝试使用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;

然后结果集什么也不会改变。。。。我在这里伤脑筋,仍然无法找出问题所在。


阅读 182

收藏
2020-06-10

共1个答案

一尘不染

第一步,值得确保不引发异常-至少将某些内容记录在catch()块中。

还值得记录所生成的SQL,并确保在直接运行它时,它实际上从数据库返回了您期望的结果。

如果您有多个数据库,则值得一提的是,您正在与自己认为的数据库相对比-我很尴尬地承认我以前被这种方式所困扰。

2020-06-10