SQL Command ist falsch

Funkeyfreak

Aktives Mitglied
Hey,

Ich habe das Problem dass mein SQL Code falsch sein soll, ich aber nicht weiß wie ich das beheben soll.
Ich denke dass das Problem bei der Variable "String artikelname" ist, da in sql der Artikelname in Anführungszeichen gesetzt werden muss, dies hier aber nicht passiert.

-> String query = "insert into warenliste (Artikel_ID, Artikelname, Anzahl, Hochfrequent) values ("+arikel_ID+", "+artikelname+", "+anzahl+", "+hochfrequent+")"

Da ich aber den Artikelname vom GUI beziehe, d.h. durch eine Java Variable, kann ich diese nicht in Anführungszeichen setzen da ansonsten die Variable nicht benutzt wird oder?

Über Hilfe würde ich mich sehr freuen!!!

ganzer Code:

public void setWareHinzu(int arikel_ID, String artikelname, int anzahl, boolean hochfrequent) {

try {
String query = "insert into warenliste (Artikel_ID, Artikelname, Anzahl, Hochfrequent) values ("+arikel_ID+", "+artikelname+", "+anzahl+", "+hochfrequent+")";
st.executeUpdate(query);

}
catch(Exception e) {
System.out.println(e);
}

}
 

mihe7

Top Contributor
Grundregel: baue niemals Parameter in eine SQL-Abfrage per Konkatenation ein.

Java:
String sql = "INSERT INTO warenliste (Artikel_ID, Artikelname, Anzahl, Hochfrequent) VALUES (?, ?, ?, ?)";
try(PreparedStatement stmt = conn.prepareStatement(sql)) {
    stmt.setInt(1, arikel_ID);
    stmt.setString(2, artikelname);
    stmt.setInt(3, anzahl);
    stmt.setBoolean(4, hochfrequent);
    stmt.executeUpdate();
}
 

Ähnliche Java Themen

Neue Themen


Oben