sql abfrage und suchfunktion

Status
Nicht offen für weitere Antworten.
T

thom

Gast
hallo,

ich habe eine gui mit verschieden feldern (es geht um kundenverwaltung)

ich würde gerne nach nachnamen suchen, wie kann die sql-abfrage aussehen? jeder kunde hat auch noch eine automatisch generierte kundennummer, die in der gui nicht angezeigt wird, diese kundennummer ist gleichzetig id in der db-tabelle kunde...

danke
 
G

Gast

Gast
wie soll denn die abfrage lauten, wenn es 2 oder mehere kunden mit gleichem nachnamen gibt? meine idee wäre eine mit ToolBox.showMessageDialog(...) eine fehlermeldung auszugeben und den benutzer dazu auffordern, andere daten einzugeben, wie zb geb.datum oder gibt es da alternativen?
 

mikachu

Top Contributor
leute mit gleichem nachnamen sind doch zulässig... du hast ja gesagt, dass jedes tupel in der datenbank eine ID als primary key besitzt... nur dieser primary key muss eindeutig sein, nix anderes !

edit 1:
ID ist die kundennummer
 

FenchelT

Bekanntes Mitglied
Moin erstmal

Gast hat gesagt.:
wie soll denn die abfrage lauten, wenn es 2 oder mehere kunden mit gleichem nachnamen gibt?

Naja, genauso, wie sie aussieht, wenn Du einen oder fuenfhundertsiebenunddreissig Kunden mit dem gleichen Namen hast. An der Abfrage aendert sich nichts

Gast hat gesagt.:
meine idee wäre eine mit ToolBox.showMessageDialog(...) eine fehlermeldung auszugeben und den benutzer dazu auffordern, andere daten einzugeben, wie zb geb.datum oder gibt es da alternativen?

Warum Fehlermeldung? Es ist doch richtig, wenn es einen Namen mehrmals gibt, dass diese auch auch alle im ResultSet oder wo auch immer zurueck geliefert werden.

Statt den User zu noetigen noch weitere Daten als Suchkriterium einzugeben kannst Du ihm ja eine Ergebnisliste anzeigen, aus der er den richtigen auswaehlen kann. Dann kannst Du den ausgewaehlten
DS in der GUI anzeigen.

JustMy2Cent


Viele Gruesse
FenchelT
 
G

Gast

Gast
hmm...ich kenne mich noch nicht so gut mit datenbanken aus(höre die vorlseung erst im nä semester)

was ich nicht verstehe, wenn der benutzer im feld nachname einen nachnamen eingibt und wenn es mehere kunden mit gleichem nachnamen gibt, was passiert denn dann? die eindeutige kundennr. kann er ja nicht eingeben...oder wie soll die select-abfrage lauten?
 
G

Gast

Gast
und wie lautet die richtige sql abfrage? (man kann nicht nur nach nachname sondern auch nach anderen kriterien suchen...)
SELECT KUNDE FROM KUNDE
oder
SELECT KUNDENNR FROM KUNDE?
 

FenchelT

Bekanntes Mitglied
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
 
G

Gast

Gast
@ FenchelT

darf ich dich noch fragen , wie du den gefundenen datensatz in gui anzeigst?
 

Timmah

Bekanntes Mitglied
Du hast schonmal Guis in Java programmiert?

Sowas kannst du z.B. in einer JTable darstellen, indem du jedes Tupel der DB-Abfrage in eine Zeile in der JTable mit den entsprechenden Spalten schreibst.
 
G

Gast

Gast
bis jetzt habe ich nur mit dem laoyot die oberfläche gemacht und die ganzen funktionen sind nicht mehr so einfach :(
 
T

tobitob

Gast
man kann doch das auch mit einer errylist lösen oder nicht? will jetzt nichts falsches sagen, bin noch anfänger
 
G

Guest

Gast
"Query by example" ist auch noch ein Stichwort, mit dem du Suchmaschinen füttern kannst.
 
G

Gast

Gast
ich wollte auch arraylist schreiben, aber ist das jetzt richtig oder nicht??
 
S

SlaterB

Gast
bei nahezu allem hilft eine ArrayList, aber worauf genau beziehst du dich eigentlich?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
S Berechnung des Datumsunterschieds in der SQL-Abfrage Datenbankprogrammierung 1
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
Kirby.exe Verständnisproblem bei SQL Abfrage Datenbankprogrammierung 27
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
D SQL Abfrage optimieren Datenbankprogrammierung 35
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
D Regelmäßige Abfrage aus Workbench Datenbankprogrammierung 6
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
E Abfrage auf HSQLDB Datenbankprogrammierung 4
M MySQL SQL Abfrage in JTable mit Berechnung Datenbankprogrammierung 3
S Abfrage von Gruppentickets(Mehrere Resorts an einem Tag) Datenbankprogrammierung 1
S SQL Abfrage Datenbankprogrammierung 2
F Abfrage der letzten Einträge Datenbankprogrammierung 2
J SELECT Abfrage/Suche Datenbankprogrammierung 4
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
OnDemand SQL Abfrage und Equals Datenbankprogrammierung 4
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
M MySQL MySQLSyntaxError in Java, obwohl Abfrage in HeidiSQL korrekt Datenbankprogrammierung 2
ruutaiokwu sql abfrage mit rekursion, mit oder ohne cte... Datenbankprogrammierung 5
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
L SQL-Abfrage bricht vor dem Ende ab Datenbankprogrammierung 2
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
M Derby/JavaDB Komplexe Abfrage vereinfachen Datenbankprogrammierung 2
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
P Datenbank- Abfrage mit null'en Datenbankprogrammierung 2
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
D MySQL Erstellen der richtigen Abfrage Datenbankprogrammierung 3
D MySQL DB Abfrage Prüfen Datenbankprogrammierung 10
D JDBC insert mit select abfrage Datenbankprogrammierung 5
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
H JSON Array abfrage beschleunigen Datenbankprogrammierung 2
S MySQL Abfrage: Wenn Feld leer, alles anzeigen Datenbankprogrammierung 5
Mrtwomoon Abfrage-Ergebnisse in einem Fenster darstellen Datenbankprogrammierung 8
0 SQL Abfrage Bestellung Datenbankprogrammierung 15
G SQLite SQLite Abfrage Datenbankprogrammierung 4
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
B My-SQL Abfrage - Out Of Memory Error Datenbankprogrammierung 13
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
K SQLite Einfache DB-Abfrage Datenbankprogrammierung 2
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
C Sortierung bei SQL-Abfrage Datenbankprogrammierung 3
B Bei Abfrage schießt der Speicher in die Höhe Datenbankprogrammierung 6
M SQL Abfrage Dupliakte bei Kreuzvergleich Datenbankprogrammierung 2
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
G SQL Abfrage Datenbankprogrammierung 5
C SQL-Abfrage Datenbankprogrammierung 4
B SQL-Abfrage Datenbankprogrammierung 4
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
R Memory leaks bei DB Abfrage Datenbankprogrammierung 16
S Abfrage auf SQLite-DB Datenbankprogrammierung 2
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
G Abfrage von Teilnehmern Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
A MySQL Ergebnss aus SQL Abfrage in Hauptklasse verwenden Datenbankprogrammierung 3
N Geschwindigkeit bei if Abfrage Datenbankprogrammierung 11
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G Performante SQL- Abfrage (LIKE %) Datenbankprogrammierung 21
G Join Abfrage Datenbankprogrammierung 12
M db abfrage fehlerhaft Datenbankprogrammierung 5
C MySQL Abfrage mit flexibler WHERE bedingung Datenbankprogrammierung 10
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2
H MySQL Datenbank Abfrage Datenbankprogrammierung 10
André Uhres SQL Abfrage erkennt keine Buchstaben mit Akzenten (z. B. é, è) Datenbankprogrammierung 3
E MySQL Klasse zur Abfrage statisch oder Standard Datenbankprogrammierung 5
J Mit einer Abfrage Worte suchen die in Zwei Tabellen enthalten sind Datenbankprogrammierung 5
G M:N Abfrage Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben