Derby/JavaDB Edit() in Db

E99

Aktives Mitglied
Tagchen!!!

Ich würde gern in meiner Datenbank eine Spalte bearbeiten:

Java:
public static void edit(int index, String column, String command) throws SQLException, Exception{
        open();
        stmt.executeUpdate("UPDATE Anlagen SET "+column+" = "+command+" WHERE id = "+index);
        close();
    }

hier die ausführende datei:

Java:
public class testdb {
    
  public static void main(String[] args) throws SQLException, Exception {
      HadesDb1 db = new HadesDb1();
     db.edit(14, "TITEL", "bearbeitet...");
  }
}

allerdings kommt folgende Fehlermeldung:

Java:
Exception in thread "main" java.sql.SQLSyntaxErrorException: Syntaxfehler: Encountered "." at line 1, column 39.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
	at lib.HadesDb1.edit(HadesDb1.java:234)
	at testdb.main(testdb.java:9)
Caused by: java.sql.SQLException: Syntaxfehler: Encountered "." at line 1, column 39.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
	... 10 more

keine ahnung was das bedeutet...

bitte um hilfe!!
 

tfa

Top Contributor
Häkchen (')um den String vergessen?
Am besten benutzt du Prepared Statements. Da passiert sowas nicht.
 

mla.rue

Bekanntes Mitglied
wie tfa richtig vermutet fehlen da nur die Hochkomma um dein command und ja, PreparedStatement wäre besser, allerdings würde meine Kiste auch da noch fehlende Hochkomma melden :p
 

E99

Aktives Mitglied
danke euch!!! ich war.mir nicht mehr so sicher, ob man hochkommata in dedby nur bei chars oder auch bei strings braucht...
 

Fab1

Top Contributor
Hatte mit solchen Dingen auch immer mal wieder zu kämpfen. Ich hab mir angewöhnt die Abfragen auszugeben, anschließend zu kopieren und dann manuell zum Beispiel in der MySQL Workbench zu testen.

In der Regel wird man dort schneller auf den Fehler aufmerksam gemacht und spart sich somit etwas Zeit.
 

E99

Aktives Mitglied
naja...
Ich arbeite ja mit derby... Ich glaub da gibt es keine workbench, oder?
Mit anderen Dbs habe ichs auch schon probiert: z.B MySql

Aber ich kam aus einem Sumpf von Fehlermeldungen nicht mehr raus!!!:D:bahnhof:

Erst mit Derby hats geklappt...
 

Neue Themen


Oben