# Select Anweisung wird falsch interpretiert



## legalizeSINCE88 (8. Mai 2014)

Hallo liebe Gemeinde,

Java gibt mir immer den Fehler aus, das folgender Code 'falsch' bzw. er die Spalte(je nachdem was im Paramater steht) nicht findet.



```
(...)
ResultSet rs =  stmt.executeQuery("Select * FROM kunden WHERE kunde_name = "  + vorN);
(...)
```

Paramater wird korrekt übergeben, Firefox Debugger, aber Java sucht eben nach dem Spaltennamen welcher in dem Parameter 'vorN' steht und eben nicht, wie gewollt, nach dem Wert IN dieser Spalte...

hoffe ihr versteht...
Denke ma, das es nur ein kleiner Denkfehler ist..."Seh den Wald vor lauter Bäumen nicht mehr",;-)


Besten Dank für eure hilfe


----------



## Androbin (8. Mai 2014)

Also, ich weiß zwar nicht, ob es dir hilft, weil ich davon selber keine Ahnung habe, aber wenn doch, wäre das hier vielleicht etwas für dich :


> ```
> Statement stmt = con.createStatement(
> ResultSet.TYPE_SCROLL_INSENSITIVE,
> ResultSet.CONCUR_UPDATABLE);
> ...


Das habe ich aus der JavaDoc


----------



## Joose (8. Mai 2014)

legalizeSINCE88 hat gesagt.:


> Java gibt mir immer den Fehler aus, das folgender Code 'falsch' bzw. er die Spalte(je nachdem was im Paramater steht) nicht findet.



Schön das Java dir den Fehler ausgibt, aber du uns diesen nicht verratest 
"Code ist falsch" bzw. "geht nicht" sind keine validen Fehlerbeschreibungen!



legalizeSINCE88 hat gesagt.:


> ```
> (...)
> ResultSet rs =  stmt.executeQuery("Select * FROM kunden WHERE kunde_name = "  + vorN);
> (...)
> ...



Kritik am Code: Anfällig für SQL Injection! Verwende PreparedStatements!

Dieser SELECT sucht in der Tabelle "kunden" alle Datensätze bei welchen in der Spalte "kunde_name" der Wert [Inhalt von vorN] steht. Steht der richtige Wert in "vorN" drinnen? Lass dir das SELECT 1x ausgeben auf der Console bevor du es ausführst (oder eben ins Log-File schreiben lassen).


----------



## legalizeSINCE88 (9. Mai 2014)

Danke - mit PreparedStatement hat es schlußendlich funktioniert.
Keine Ahnung wo der Fehler lag Oo

Vielen Dank an alle 

Auf bald!


----------

