繁体   English   中英

Getter方法返回null

[英]Getter method returning null

我正在使用JDBC。 在以前的jForm中,我将设置当前使用其凭据登录的用户的用户名,并将其传递给以下内容。

public void setUser(String user) {   
    this.username = user;
}

private String getUser() {
    return username;
}

然后将其传递给下面的sql语句

PreparedStatement st;
ResultSet rs;
Connection conn;
try {
    String query = "SELECT * FROM PAYMENTS WHERE USERNAME = (?)";
    conn = mq.getConnection();
    st = conn.prepareStatement(query);
    st.setString(1, getUser());
    rs = st.executeQuery();
} catch (SQLException ex) { 
    Logger.getLogger(MainView.class.getName()).log(Level.SEVERE, null, ex);
} 

运行该语句时,我收到的结果为空。 尽管我在jLabel中使用了相同的getter方法,但效果很好。 我不确定为什么会收到null。

  if (rs.next()) {
            mv.setVisible(true);
            mv.setUser(jTextField1.getText());
            this.dispose();
        } else {

这是我在以前的jForm中调用setter的地方。

首先,请确保数据库中的表确实包含记录。

如果为true,则尝试将从getUser()返回的String存储到String变量中。

String user = getUser();
st.setString(1, user);

如果这样不起作用,请尝试在查询中首先附加数据库的名称,如下所示:

String query = "SELECT * FROM DATABASE_NAME.PAYMENTS WHERE USERNAME = (?)";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM