Insert Username into Database

Hallo Leute
ich erstelle mir gerade ein Anmeldefenster. Jetzt möchte ich gerne den Loginname in die Datenbank hineinschreiben.

        String sql = "Select * from loginuser where Benutzername = ? and Passswort = ? ";
        try {
            String sSQL = "";
            pst = Conn.prepareStatement(sql);
            pst.setString(1, txtuser.getText());
            pst.setString(2, txtpw.getText());
            rs = pst.executeQuery();
            if (rs.next()){
                    try {    
                        Class.forName("org.gjt.mm.mysql.Driver");    
                        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/personal", "root", "");    
                        Statement statement = con.createStatement();     
        
                        Hauptmenüscreen h = new Hauptmenüscreen();
                        h.setVisible(true);
                        this.dispose();
                    } catch (Exception e){
                        System.out.println(e);
                    }
            } else  
                JOptionPane.showMessageDialog(null, "Benutzername oder Password sind falsch");
        } catch (Exception e) {
                System.out.println(e);
        }
    } ```

ich verstehe das jetzt mal so das du wissen möchtest wie das geht?

schreib dir deinen INSERT Befehl und führ den mit einem executeUpdate(); aus.

und?
dass man mit SQL einfügen kann, dass der Befehl ‚INSERT‘ wichtig wird, scheinst du bereits zu wissen,
was nun?

zur Fehlermeldung „Benutzername oder Password sind falsch“ passt das auch nicht ganz,
soll jeder falsche Login zu einem neuen Benutzername in der DB führen?

aber ich sehe schon, ich überspanne viel zu sehr den Fragerahmen, du gibst nichts an Infos,
ich sollte nicht alles extra erfragen (müssen), streiche das gesamte Posting, zurück zu:

und? :wink:

Noch ein Tipp: Verwende zum Schreiben in die DB auch ein PreparedStatement. …Und vermeide Umlaute in den Klassennamen.

Ok, erster einfach selbstest: Wenn du in Zukunft ein Thema verfasst dann lies deine Beschreibung nochmal durch und wenn du dann kein Fragezeichen gesetzt hast, hast du höchstwahrscheinlich einen Formfehler.

Ich würde dir ja echt gerne helfen, aber ich weis beim besten willen nicht was dein Problem ist. Also bitte nochmal. Schreibe eine anständige Problembeschreibung:

  • Was willst du genau erreichen
  • relevanter Coder
  • Was hast du bereits versucht

Ich möchte gerne den Benutzernamen den ich im JTextfield eintrage um ins Hauptmenü zu gelangen in die Datenbank hineinschreiben.
So müsste das doch ungefähr aussehen oder ?
[SQL]“INSERT INTO verlauf (Loginname)” + “VALUES (txtuser.getText;)”;[/SQL]

wenn du es genau wie die Abfrage mit PreparedStatement machst, dann sollte der Ablauf mit ? und setString() ja klar sein,

allgemein ist das was du gepostet hast ein String, da wird nicht auf magische Weise noch im Textfeld nachgeschaut,
du musst schon selber txtuser.getText() korrekt mit Klammern und allen drum und dran aufrufen und diesen String zum SQL-Zusammenbau nutzen, wenn das dein Weg ist (besser PreparedStatement)

falls du SQL zusammenbaust, immer wichtig: am Ende ausgeben, muss so aussehen wie man es auch in ein SQL-Tool tippen könnte,
nur korrekte Werte, Anführungszeichen für Text usw., alles muss stimmen

auch immer auf Leerzeichen achten, nicht dass )VALUES direkt zusammensteht