Doppelte Daten in Spalte, nur die Erste abrufen

java777

Mitglied
Hallo Leute,

ich habe ein Probelm bei der Datenbankabfrage.

Die MS-ACCESS-Datenbank die ich benutze, beinhaltet folgende Spalten:

Name | Vorname| Alter| Ort |Plz|

nun möchte ich mit einem vorgegebenem Alter in die Datenbank gehen und die erste zeile die diesen Alter-Wert beinhaltet finden (es gibt auch weitere zeilen mit dem selben Alter diese vernachlässigen, nur die erst gefundene in der tabele betrachten, also die zuerst gefunden wird). Sobald diese zeile mit dem jeweiligen Alter gefunden ist, dann aus dieser zeile Name, Vorname, Alter, Ort, Plz auslesen z.B. gehe ich mit dem Alter 14 in die Datenbank

Petra, 31
Klaus, 14
Kurt, 21
Klara, 14

und gebe nur die Daten von Klaus aus und vernachlässige Klara,


und am ende
diese Daten in einen String Array einlesen
sodass ich am ende zB einen String Array wie das hier habe, mit folgendem Inhalt:

String Array {Name, Vorname, Alter, Ort, PLZ}


Also mit dem folgenden Code funktioniert es wunderbar, allerdings wird Klara auch berücksichtigt auch nicht nur sie sondern alle Zeilen die den Alter 14 beinhalten



PreparedStatement stmt = connection.prepareStatement("SELECT Name,Vorname,Alter,Ort,PLZ FROM Daten WHERE Alter = ?");
stmt.setString(1, "14");
ResultSet rs = stmt.executeQuery();

while(rs.next()){
String[] row = new String[]{
rs.getString("Name"),
rs.getString("Vorname"),
rs.getString("Alter"),
rs.getString("Ort"),
rs.getString("PLZ"),
};
System.out.println(Arrays.toString(row));
}


Damit nur die Zeile mit Klaus ausgebeben wird, habe ich "TOP 1" folgendermaßen eingegeben:


....eStatememt("SELECT Name, Vorname, ALTER, Ort, PLZ FROM Daten WHERE 'ALTER = ? TOP 1' ");


sobald ich es nun ausführe, bleibt er bei :

stmt.setString(1, "14");

stehen und gibt mir folgende Meldung:

java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.clearParameter(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setChar(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.setString(Unknown Source)....

Ich würde mich auf hilfreiche Tipps super freuen, hoffe dass ich alles verständlich beschrieben habe :)

Gruß
 
Zuletzt bearbeitet:
Zurück