Also ich habe eine Methode geschrieben um halt zu überprüfen ob bestimmte Werte, welche über die GUI eingelesen werden, bereits in der DB existieren. Jedoch bekomme ich die Errormeldung:
Die Methode:
Aufruf der Methode im GUI:
java.sql.SQLException: Column 'username' not found.
.Die Methode:
Java:
/*================= check if username is already existend in DB ==================*/
public boolean inputCheck(String username, String mode) throws SQLException, Exception{
try {
Connection conn = connection.getConnection();
PreparedStatement getUser = conn.prepareStatement("SELECT ? FROM login WHERE username=?");
getUser.setString(1, mode);
getUser.setString(2, username);
System.out.println("Ich konnte noch zuweisen !");
String resulter = "";
ResultSet result = getUser.executeQuery();
if(result.next()){
resulter = result.getString("username");
}
if(!resulter.equals("null")) {
System.out.println(mode + " exists!");
getUser.close();
conn.close();
return true;
}else {
System.out.println(mode +" nonexistent!");
getUser.close();
conn.close();
return false;
}
} catch (SQLException ex) {
// handle any database errors
ex.printStackTrace();
System.out.println("Error when loading username");
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
return false;
}
Aufruf der Methode im GUI:
Java:
public void actionPerformed(ActionEvent e) {
//saving login information in DB
try {
MainDatabase data = new MainDatabase();
SecureHashAlgorithm algo = new SecureHashAlgorithm();
s_username = inputUsername.getText();
if(data.inputCheck(s_username, "username")) {
System.out.println("Den Benutzer gibt es schon");
lblThisUserAlready.setVisible(true);
userC = false;
}else {
lblThisUserAlready.setVisible(false);
}
s_email = inputEmail.getText();
if(data.inputCheck(s_email, "email")) {
System.out.println("Den Benutzer gibt es schon");
lblThisEmailAlready.setVisible(true);
emailC = false;
}else {
lblThisEmailAlready.setVisible(false);
}
if(inputPassword.getText().equals(inputPasswordConfirm.getText())) {
s_pw = inputPassword.getText();
lblThePasswordDoesnt.setVisible(false);
pwC = true;
}else {
System.out.println("Wrong password");
lblThePasswordDoesnt.setVisible(true);
pwC = false;
}
if(s_pw != null) {
s_pw = algo.secureHash(s_pw);
}
s_Birthday = inputBirthday.getText();
s_MtrNR = inputMtrNR.getText();
if(data.inputCheck(s_MtrNR, "mtrNr")) {
System.out.println("Den Benutzer gibt es schon");
lblThisStudentidExists.setVisible(true);
mtrnrC = false;
}else {
lblThisStudentidExists.setVisible(false);
mtrnrC = true;
}
if(userC && emailC && pwC && mtrnrC) {
data.addEntries(s_username, s_email, s_pw, s_Birthday, s_MtrNR);
}else {
System.out.println("Nö!");
}
}catch(Exception ex) {
System.out.println("Es konnte nichts hinzugefügt werden");
ex.printStackTrace();
}
}