Fehlermeldung beim Insert

  • Themenstarter Themenstarter Val
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
V

Val

Gast
hey Leute,
ich hoffe mal das ich hier richtig bin, bin zwar nicht so gut im Programmieren aber hoffe trotzdem das ihr mir weiterhelfen könnt.
Also, es geht um eine Fehlermeldung die ich immer bekomme wenn ich meine daten von der selbst erstellten GUI auf die mysql datenbank einfügen will..
ich kann die daten laden, die schon in der DB vorhanden sind, versuche halt ein zusätzlichen eintrag einzufügen und bekomme ständig diese Meldung:

Code:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1111 = Mitarbeiternummer' at line 1

finde leider keinen fehler, habe erst gedacht das es dran liegt das ich alle Strings bzw Varchars in einem " setzten muss, dies muss glaub ich auch, da es HeidiSQL oda so haben will...

naja ich lass das mal mit dem riesen text schreiben, vlt kann mir einer sagen wo der fehler liegen könnte...

wenn ihr mehr bzw andere infos braucht sagt bescheit pls, würde mich über eure hilfe freuen

MFG Val[/code]
 
bla bla bla wer ist heidi?

schick uns mal deine abrage bzw

meinst du schon dass Mitarbeiternummer eine 1111 ist und nicht
Mitarbeiternummer = 1111
 
jo 1111 ist eine mitarbeiternummer, das ist so ne mitarbeiterverwaltungs dings ^^

1111 ist halt beim aller ersten Mitarbeiter, die mitarbeiternummer.
wenn ich einen 2ten einfügen will zb. mit der nummer 1112 zeigt er diese fehlermeldung an
 
so einmal die Insert
Code:
public String erzeugenInsertSQL(String mitarbeiterdb)
        {
    String sql = "Insert into "+mitarbeiterdb+" (Name,Vorname,Strasse,PLZ,Ort,Mitarbeiternummer,Abteilung,Gehalt,Kontonummer) Values ("+Name+","+Vorname+","+Strasse+","+Postleitzahl+","+Ort+","+Mitarbeiternummer+","+Abteilung+","+Gehalt+","+Kontonummer+")";
    return sql;
    }
wolltet ihr die oder das halt mit dem speichern?
 
- poste vor allem den zusammengebauten String, wer weiß, was in deinen Variablen steht

- versuche erstmal eine kleine Testtabelle mit EINEM Attribut, nicht 10 komplizierte gleichzeitig

- die Fehlermeldung deutet meiner Meinung nach an. dass dein SQL '1111 = Mitarbeiternummer' enthält,
bist du sicher, dass diese Abfrage gemeint ist?

> wolltet ihr die oder das halt mit dem speichern?

das, wo der Fehler auftritt?! :autsch:
 
also ich habe so eine was ähnliches gebaut, das nur aus drei verschiedenen Variablen bestehnt, das funktionierte auch.

es könnte ja auch sein das der fehler an einem anderen platz enstehen könnte bin mir aber nicht sicher und zwar bei
Code:
public void datenspeichernButtonActionPerformed(ActionEvent evt) {

   ResultSet rs;
    mitarbeiterDB.setmeineVerbindung("jdbc:mysql://localhost/mitarbeiterdb");  
    mitarbeiterDB.setBenutzername("****");
    mitarbeiterDB.setPasswort("****");
    mitarbeiterDB.setmeineTreiber("org.gjt.mm.mysql.Driver");
   try {
   if ( mitarbeiterDB.openConnection() ) {
    rs = mitarbeiterDB.leseDaten("SELECT * FROM mitarbeiterdb");
     for ( int i=0 ;i <=998  ; ++i  ) {
      if (meineMitarbeiter.vorhandenMitarbeiter(i)) {
       Mitarbeiter oMitarbeiter = meineMitarbeiter.aufrufen(i);
        boolean ok = true;
         while ( rs.next() & ok ) {
          if (oMitarbeiter.getMitarbeiternummer() == rs.getInt("Mitarbeiternummer")) {
           ok = mitarbeiterDB.schreibeDaten(oMitarbeiter.erzeugenUpdateSQL("mitarbeiterdb"));
            ok = false;
           }
         }
      rs.first();
        if (ok){
          ok = mitarbeiterDB.schreibeDaten(oMitarbeiter.erzeugenInsertSQL("mitarbeiterdb"));
        }
      }
    }
   }
   mitarbeiterDB.close();
  }
   catch (Exception e) {
   MeldungTextfield.setText(e.toString());
  }

 }

hmm vlt da drin n fehler?
 
erzeugenUpdateSQL klingt sehr verdächtig,

als aller erstes solltest du herausfinden, wo der Fehler auftritt,

setze z.B. vor jedem DB-Kommando eine Ausgabe a la
System.out.println("starte nun DB-Abfrage 27");
und dahinter
System.out.println("erfolgreich beendet: DB-Abfrage 27");

dann schaust du nach, welches die letzte 'start'-Ausgabe vor der Exception war 😉
 
hmm gute idee, werde ich mal versuchen, danke für die schnelle hilfe, schreibe später was zu wenn ich gefunden haben wodran es lag/liegt..

MFG Val
 
Code:
String sql = "Insert into "+mitarbeiterdb+" (Name,Vorname,Strasse,PLZ,Ort,Mitarbeiternummer,Abteilung,Gehalt,Kontonummer) Values ("+Name+","+Vorname+","+Strasse+","+Postleitzahl+","+Ort+","+Mitarbeiternummer+","+Abteilung+","+Gehalt+","+Kontonummer+")";
das liefert auf keinen Fall das

Code:
...corresponds to your MySQL server version for the right syntax to use near '1111 = Mitarbeiternummer' at line

such das UPDATE.. da liegt der fehler
 
ins UPDATE geht er ja nicht rein wenn die Mitarbeiternummer anders ist, desweg ja danach das INSERT
 
okay leute bin mal bisschen weitergekommen, er zeigt mir die meldung nur an wenn ich im array schon daten drin habe die genau übereinstimmen mit denen in der DB, dazu müsste ich doch eig das speichern ändern oder?
 
niemand weiß, was in deinem Array ist, was in deiner DB ist, wie das zusammenhängt,
was du bisher unter 'speichern' verstehst und an Code hast (können verschiedene Dinge sein),
und ob und warum du etwas daran oder wo auch immer ändern musst,

mit einsilbigen Fragen gehts also nicht voran 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben