Guten Tag.
Ich schreibe gerade eine Applikation fürs Handy mit einer SQL Datenbank. Ich habe einen Datensatz in die Datenbank geschrieben und wollte nun den Login gestalten. Dazu wollte ich den Datensatz mit Testdaten erstmal vergleichen. Hier ist mein Code:
Login überprüfen:
Datenbankverbindung ( select befehl )
Testdaten:
Fehlerausgabe:
Fehler!nullFehler!Benutzername existiert nicht!
sind nicht gleich
Also der Datensatz mit Dennis und dem passwort ist 100% in der datenbank und eine verbindung zur datenbank besteht auch. Jedoch was mache ich falsch, dass ein null zurück kommt, obwohl ja Dennis ( bname ) drin steht?!? Wäre für jede Hilfe dankbar.
Frohe Pfingstage
Ich schreibe gerade eine Applikation fürs Handy mit einer SQL Datenbank. Ich habe einen Datensatz in die Datenbank geschrieben und wollte nun den Login gestalten. Dazu wollte ich den Datensatz mit Testdaten erstmal vergleichen. Hier ist mein Code:
Login überprüfen:
Java:
//Logindaten prüfen hinzufügen
@WebMethod(operationName ="benutzerlogin_pruefen")
/**
* @param bnummer Benutzername
* @param pw Passwort
**/
public boolean benutzerlogin_pruefen(
@WebParam(name ="benutzername") String bname,
@WebParam(name ="passwort") String pw)
{
// Testen der Datenbankanbindung
DatabaseConnection.connectdb();
// Benutzername in der Datenbank suchen
String bname1 = "SELECT BENUTZERNAME"
+"FROM BENUTZER"
+"WHERE BENUTZERNAME='"+bname+"'";
ResultSet bname2 = DatabaseConnection.selectdb(bname1);
System.out.print(""+bname2+"");
//Passwort und Benutzerdaten vergleichen
String pwtrue = "SELECT passwort"
+"FROM passwort"
+"WHERE benutzername='"+bname+"'";
ResultSet pwdb = DatabaseConnection.selectdb(pwtrue);
// Schauen ob Benutzer existiert
if (bname2==null){
System.out.println("Benutzername existiert nicht!");
return false; }
// Schauen ob Passwort übereinstimmt
else if (pwtrue!=pw){
System.out.println("Passwort ist falsch!");
return false;
// Falls Benutzer und Passwort existrieren und übereinstimmen
}else{
return true;
}
}
Datenbankverbindung ( select befehl )
Java:
// Datensätze aus der Datenbank holen
public static ResultSet selectdb(String str) {
try {
stmt.execute(str);
return stmt.getResultSet();
} catch (SQLException e2) {
System.out.print("Fehler!");
return null;
}
}
Testdaten:
Java:
public class test {
public static void main(String[] args) {
String bname="Dennis";
String pw="MCIMMA";
boolean status;
scws Dennis = new scws();
status = Dennis.benutzerlogin_pruefen(bname, pw);
if (status)
System.out.print("Sind gleich");
else
System.out.print("sind nicht gleich");
}
}
Fehlerausgabe:
Fehler!nullFehler!Benutzername existiert nicht!
sind nicht gleich
Also der Datensatz mit Dennis und dem passwort ist 100% in der datenbank und eine verbindung zur datenbank besteht auch. Jedoch was mache ich falsch, dass ein null zurück kommt, obwohl ja Dennis ( bname ) drin steht?!? Wäre für jede Hilfe dankbar.
Frohe Pfingstage