# Fehler beim PreparedStatement



## Jörn (3. Nov 2005)

Hallo Java-Freunde!

Habe in meinem Quellcode irgendwo einen Fehler. Dieser liegt bei meiner Abfrage:

PreparedStatement SQLAbfrage: con.prepareStatement(
"SELECT TypBezeichnung, Auftragsnummer, Angebotssumme, Auftragsssumme, Beschreibung FROM Kostenkatalog WHERE TypBezeichnung LIKE ?, Auftragsnummer LIKE ?, Angebotssumme LIKE ?, Auftragssumme LIKE ?, Beschreibung LIKE ? ORDER BY ?");
SQLAbfrage.setString(1, Abfrage1);
SQLAbfrage.setInt(2, Abfrage2);
SQLAbfrage.setInt(3, Abfrage3);
SQLAbfrage.setInt(4, Abfrage4);
SQLAbfrage.setString(5, Abfrage5);
SQLAbfrage.setString(6, Abfrage6);
ResultSet result = SQLAbfrage.executyQuery();

Beim ausführen bekomme ich dann diesen Fehler:

Fehler bei Tabellenabfrage.sql.ExceptionMicrosoft)(ODBCMicrosoft Access Driver) Syntaxfehler (Komma) in Abfrageausdruck 'Typbezeichnung LIKE Pa_RaM000, Auftragsnummer LIKE Pa_Ra001, Angebotssumme LIKE Pa_RaM002, Auftragssumme LIKE Pa_RaM003, Beschreibung LIKE Pa_RaM004'.

Liegt wohl irgendwie an den Kommas zwischen den Spaltenwerten. Nehme ich die Kommas heraus, bekomme ich einen anderen Fehler, dass ein Operator fehlt.

Vielleicht kann mir ja jemand helfen.

Dank im voraus.

Gruss Jörn


----------



## Bleiglanz (3. Nov 2005)

du meinst wohl AND oder OR

in der WHERE Klausel kann man nix durch kommas trennen...

und:


in der ORDER BY funktioniert das nicht, weil dort ein (nicht als String gequoteter) Spaltenname stehen muss 

ist ne unzulänglichkeit vom PreparedStatement...


----------



## Jörn (3. Nov 2005)

Dank Dir!

Das AND hat gefehlt. Hätte ich auch selbst drauf kommen können.

Gruss Jörn


----------

