G
Guest
Gast
Hallo ,
Ich habe ein Fenster mit mehreren Textfelder. In diesen Textfelder wird z.B. Name, Vorname, Plz, Ort…. eingetragen. Und in der Datenbank wird dann nach diesen Kriterien die Person gesucht.
Mein Problem ist es wenn ich z.B. bei Name :Muster eingebe und bei Vorname nix dann übergibt er bei mit den leeren String (bei Vorname) und Muster (bei Name) an die suche auf der Datenbank (SELCT …..) und findet natürlich keinen der Muster „ „ heißt.
Ich könnte auch viele Select abfragen schreiben aber da ich zu viele Parameter habe würde ich das nicht für sehr sinnvoll halten
z.B. 1 Abfrage suche wenn name == eingabe und vorname == eingabe
2 abfrage suche wenn vorname == eingabe
3 abfrage suche wenn name gleich == eingabe
Ich möchte Personen suchen wenn ich name, vorname, plz eingebendas er mir alles dazu findet oder z.B. wenn ich nur name eingebe soll er mir alle Datensätze mit diesen Namen (egal welcher Vorname ist) suchen.
Mein bisheriger Code
SQL-Abfrage
Übergebenen Werte aus den Textfelderern
Und in der gui übergebe ich halt die Werte aus den Textfeldern dieser such Methode
Danke euch schon im Voraus!
Ich habe ein Fenster mit mehreren Textfelder. In diesen Textfelder wird z.B. Name, Vorname, Plz, Ort…. eingetragen. Und in der Datenbank wird dann nach diesen Kriterien die Person gesucht.
Mein Problem ist es wenn ich z.B. bei Name :Muster eingebe und bei Vorname nix dann übergibt er bei mit den leeren String (bei Vorname) und Muster (bei Name) an die suche auf der Datenbank (SELCT …..) und findet natürlich keinen der Muster „ „ heißt.
Ich könnte auch viele Select abfragen schreiben aber da ich zu viele Parameter habe würde ich das nicht für sehr sinnvoll halten
z.B. 1 Abfrage suche wenn name == eingabe und vorname == eingabe
2 abfrage suche wenn vorname == eingabe
3 abfrage suche wenn name gleich == eingabe
Ich möchte Personen suchen wenn ich name, vorname, plz eingebendas er mir alles dazu findet oder z.B. wenn ich nur name eingebe soll er mir alle Datensätze mit diesen Namen (egal welcher Vorname ist) suchen.
Mein bisheriger Code
SQL-Abfrage
Code:
public ResultSet getPerson (String name, String vorname,Long postleitzahl){
return eineDatenbankverbindung.execDatenAbfrage
("SELECT * FROM T_PERSONEN WHERE Name = '"+name+"' AND Vorname= '"+vorname+"' AND Postleitzahl ='" + postleitzahl+"'");
}// get Person
Übergebenen Werte aus den Textfelderern
Code:
public Vector suchePerson (String name, String vorname, Long postleitzahl){
ResultSet einAbfrageErgebnis = einSQLInterface.getPerson(name, vorname,postleitzahl);
Vector resultList = new Vector();
try{
while(einAbfrageErgebnis.next()){
einePerson = new Person();
einePerson.setName(einAbfrageErgebnis.getString(2));
einePerson.setVorname(einAbfrageErgebnis.getString(3));
einePerson.setPlz(einAbfrageErgebnis.getLong(4));
einePerson.setOrt(einAbfrageErgebnis.getString(5));
einePerson.setStrasse(einAbfrageErgebnis.getString(6));
einePerson.setHausnr(einAbfrageErgebnis.getString(7));
einePerson.setGeburtsjahr(einAbfrageErgebnis.getLong(10));
einePerson.setTelDienst(einAbfrageErgebnis.getString(9));
einePerson.setTelPrivat(einAbfrageErgebnis.getString(8));
resultList.add(einePerson);
}// while
einAbfrageErgebnis.close();
}
catch (SQLException e){
System.out.println("SQL-Fehler: " + e.getMessage());
} //catch
return resultList;
}
Und in der gui übergebe ich halt die Werte aus den Textfeldern dieser such Methode
Danke euch schon im Voraus!