這些是我在.entity目錄中的代碼。在java swing中找不到列錯誤信息
public boolean createUser() {
boolean success = false;
DBController db = new DBController();
db.setUp("IT Innovation Project");
String sql = "INSERT INTO forumUsers(users_userName,users_password,users_NRIC)";
sql += "VALUES ('" + userName + "','" + pwd + "','" + nric + "')";
System.out.println(sql);
if (db.updateRequest(sql) == 1)
success = true;
db.terminate();
return success;
}
public boolean retrieveUser() {
boolean success = false;
ResultSet rs = null;
DBController db = new DBController();
db.setUp("IT Innovation Project");
String dbQuery = "SELECT * FROM forumUsers WHERE users_userName = '";
dbQuery += userName + "'";
rs = db.readRequest(dbQuery);
try {
if (rs.next()) {
pwd = rs.getString("password");
success = true;
}
} catch (Exception e) {
e.printStackTrace();
}
db.terminate();
return success;
}
這些是我在用戶界面類中的代碼。
if (userName.equals("")||pwd.equals("")||nric.equals(""))
JOptionPane.showMessageDialog(null,"Please enter all text field");
else{
eForumUser user = new eForumUser (userName,pwd,nric);
if (user.retrieveUser())
JOptionPane.showMessageDialog(null,"User already exists! Cannot create.");
else{
if (user.createUser()==true);
JOptionPane.showMessageDialog(null,"User record created successfull!");
}
我的數據庫表有users_userName,users_password,users_NRIC,users_securityQuestion,users_answer列。
我可以在數據庫中創建一個數據。但是,當我嘗試使用retrieveUser方法檢查用戶名是否存在時,控制檯顯示「列未找到」錯誤消息。那麼我該怎麼做才能解決這個問題呢?我的retrieveUser方法有問題嗎?
我editted我retriveUser方法:
public boolean retrieveUser() {
boolean success = false;
ResultSet rs = null;
DBController db = new DBController();
db.setUp("IT Innovation Project");
String dbQuery = "SELECT * FROM forumUsers WHERE users_NRIC AND users_securityQuestion AND users_answer = '";
dbQuery += userName + securityQuestion + answer + "'";
rs = db.readRequest(dbQuery);
try {
if (rs.next()) {
pwd = rs.getString("users_password");
success = true;
}
} catch (Exception e) {
e.printStackTrace();
}
db.terminate();
return success;
}
我嘗試通過輸入身份證號碼,安全問題和答案,以獲取密碼。這是用戶界面的代碼。
public void submitForgotPwd(ActionEvent e){
String nric = jTextField.getText();
Object securityQuestion = jComboBox.getSelectedItem();
String answer = jTextField1.getText();
if (nric.equals("")||securityQuestion.equals("")||answer.equals("")){
JOptionPane.showMessageDialog(null, "Please enter nric,security question and answer.");
}else{
eForumUser user = new eForumUser(nric,securityQuestion,answer);
if (user.retrieveUser()==true){
jTextField2.setText(user.getPwd());
}else{
JOptionPane.showMessageDialog(null,"Nric do not exist or wrong security question and answer");
}
}
}
但是,我的檢索不起作用。有人可以幫我嗎?
有人可以幫助我的第二部分?我是指編輯後的retrieveUser。這是行不通的。 – GabrielHeng