MySQL + Java + prepareStatement SyntaxError

Dolch

Mitglied
mysql 5.0 nutze ich und java

Die SQLAnweisung:
Code:
UPDATE personen SET vorname = ?, nachname = ?, titel_id = ?, anrede_id = ?, agentur_id = ?, bemerkung = ?, kommunikation = ?, fi_id = ?, berufv_id = ?, geburtsjahr = ?, honorar = ?, kondition_id = ?, ort = ?, changedatum = NOW() ,ub_id = ?,verfuegbarkeit_abwann = ?, verfuegbarkeit_prozent = ? WHERE pe_id = ?;

Die Fehler 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 '?, nachname = ?, titel_id = ?, anrede_id = ?, agentur_id = ?, bemerkung = ?, kom' at line 1

Ehrlich gesagt weiß ich nicht was ihn stört (benutze wie gesagt prepareStatment und fülle vor dem ausführen natürlich die Werte ;) )

Code:
prepStatement = conn.prepareStatement(sqlCommand);

prepStatement.setString(1, vorname); // und so weiter bis
...
prepStatement.setInt(17, pe_id);

prepStatement.executeUpdate(sqlCommand);
 
spontan sieht es eigentlich ganz ok aus...kannst du uns etwas mehr Code zeigen?

und vielleicht kann es ein Mod ins Java-Forum verschieben, da finde ich es gehört es eher hin.
 
ok wenn das jetzt weiter hilf :)

Code:
			conn = ConnectionFactory.getConnection(conn,hostname,port,dbname,user,password);
			String sqlCommand = "UPDATE " + table_personen + " SET " + 
			table_header_personen_vorname + " = ?, " + table_header_personen_nachname + " = ?, " +
			table_header_personen_titel_id + " = ?, " + table_header_personen_anrede_id + " = ?, " +
			table_header_personen_agentur_id + " = ?, " + table_header_personen_bemerkung + " = ?, " +
			table_header_personen_kommunikation + " = ?, " + table_header_personen_fi_id + " = ?, " +
			table_header_personen_berufv_id + " = ?, " + table_header_personen_geburtsjahr + " = ?, " +
			table_header_personen_honorar + " = ?, " + table_header_personen_kondition_id + " = ?, " +
			table_header_personen_ort + " = ?, " + table_header_personen_changedatum + " = NOW() ," + 
			table_header_personen_ubedeutung_id + " = ?," + table_header_personen_verfuegbarkeitabWann + 
			" = ?, " + table_header_personen_verfuegbarkeitinProzent + " = ? WHERE " + 
			table_header_personen_pe_id + " = ?;";
			
			erfolg = "  " + sqlCommand;
			
			prepStatement = conn.prepareStatement(sqlCommand);
			prepStatement.setString(1,person.getVorname());
			prepStatement.setString(2,person.getNachname());
			prepStatement.setInt(3,person.getTitel_id().intValue());
			prepStatement.setInt(4,person.getAnrede_id().intValue());
			prepStatement.setInt(5,person.getAg_id().intValue());
			prepStatement.setString(6,person.getBemerkung());
			prepStatement.setString(7,person.getKommunikation());
			prepStatement.setInt(8,person.getFI_id().intValue());
			prepStatement.setInt(9,person.getBerufsVer_id().intValue());
			prepStatement.setString(10,person.getGeburtsjahr());
			prepStatement.setDouble(11,person.getHonorar());
			prepStatement.setInt(12,person.getKondition_id().intValue());
			prepStatement.setString(13,person.getOrt());
			prepStatement.setInt(14,person.getUBedeutung_id().intValue());
			prepStatement.setString(15,person.getVerfuegbarkeitAbWann());
			prepStatement.setInt(16,person.getVerfuegbarkeitProzent());
			prepStatement.setInt(17,person.getPe_id());
			prepStatement.executeUpdate(sqlCommand);
 
ochnö ... manchmal bin ich auch einfach blind ...

Code:
prepStatement.executeUpdate(sqlCommand);

so kann das ja nicht gehen ...

Code:
prepStatement.executeUpdate();

so is besser :)
 

Neue Beiträge

Zurück