0
我正在使用JDBC。在之前的jForm中,我将设置当前使用其凭据登录的用户的用户名,并将其传递给下面的以下内容。Getter方法返回null
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的地方。
你没有提供足够的上下文。显示更多代码。 –
看起来像你在setter之前调用getter ....发表更多代码... –
不确定它是否解决了你的问题,但是你应该用'?'替换'(?)' – davidxxx