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