Hallo nochmal,
sei mir nicht boese, aber einen kompletten SQL-Kurs durchzuziehen, mag ich hier nicht, dafuer gibt es auch
im Internet genug Lektuere.
Es bringt Dir auch herzlich wenig, wenn ich Dir das jetzt hier poste und Du gar nicht weisst, was genau passiert.
Aber noch etwas zur Vorgehensweise:
Nehmen wir einfach an, Du hast drei Suchfelder (Name, Plz, Ort)
NUn brauchst DU ja schlussendlich einen SQl-String, der auf Deine eingegebenen Felder regagiert.
Ich benutze fuer sowas immer eine Function und einen StringBuffer (sb)
Beispiel:
sb.append("SELECT feld1, feld2, feld_n FROM tabelle WHERE 1 = 1 );
if(pruefen ob Suchfeld Name nicht leer ist)
{
sb.append("AND deinDatenbankfeld_Name = '" + suchFEldName.getText() + "'");
}
auf diese Art pruefe ich auch die anderen Felder ab.
Am Ende sag ich dann
return sb.toString();
und habe meinen fertigen SQL String.
Das ist jetzt eine sehr vereinfachte Darstellung von dem was ich tatsaechlich mache.
Ich pruefe im Vorfeld noch die Suchfeldeingaben auf unerlaubte Zeichen (Thema SQL-Injection)
Ich habe auch noch eine Pruefung ob ein %-Zeichen eingegeben wurde, und wenn ja, dann fuege ich anstatt
sb.append("AND deinDatenbankfeld_Name = '" + suchFEldName.getText() + "'");
dieses hier ein:
sb.append("AND deinDatenbankfeld_Name LIKE % '" + suchFEldName.getText() + "'"); // auf das letzt % kann verzichtet werden, es kommt ja schon aus dem Textfeld
Nun, das ist so in etwa mein Vorgehen, aber ich glaueb, sowas macht so ziemlich jeder anders.
Und wenn Du Dich mit SQL noch nicht beschaeftigt hast, macht es auch keinen Sinn, sich des Themas SQL-Injection anzunehmen.
Lies Dich mal in Ruhe im Internet schlau.
Es gab auch mal ne Online Version von "SQL in 21 Tagen" Fuer den Anfang eigentlich ganz okay.
Viel Erfolg
FEnchelT