[英]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.