Entwickler-Ecke
Datenbanken - Keine 2. Suche möglich
Anonymous - Mi 20.11.02 14:41
Titel: Keine 2. Suche möglich
Hallo,
und noch ein Problem: (kennt eigentlich jemand ein umfassendes Tutorial zur Datenbankprogrammierung?)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72:
| { ***************** BUCHSUCHE *************************************************}
procedure Tform_admin.suche_submitClick(Sender: TObject); begin q_suche.Close; q_suche.SQL.Clear; q_suche.SQL.Text := 'SELECT Signatur, Titel, Rubrik, Unterrubrik FROM buecher, autoren, autorenschaft WHERE (autorenschaft.Kuerzel = autoren.Kürzel) AND (autorenschaft.BuchNr = buecher.BuchNr) '+buchsuche+''; q_suche.Open; db_suche.Visible := true; end;
procedure Tform_admin.suchepanelClick(Sender: TObject); begin buchsuche := ''; end;
procedure Tform_admin.suche_titelChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Titel LIKE "%'+suche_titel.Text+'%") '; end;
procedure Tform_admin.suche_verlagChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Verlag LIKE "%'+suche_verlag.Text+'%") '; end;
procedure Tform_admin.suche_rubrikChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Rubrik = "'+suche_rubrik.Text+'") '; end;
procedure Tform_admin.suche_buchnrChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.BuchNr = "'+suche_buchnr.Text+'") '; end;
procedure Tform_admin.suche_erscheinungsjahrChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Erscheinungsjahr = "'+suche_erscheinungsjahr.Text+'") '; end;
procedure Tform_admin.suche_unterrubrikChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.Unterrubrik = "'+suche_unterrubrik.Text+'") '; end;
procedure Tform_admin.suche_inventarnrChange(Sender: TObject); begin buchsuche := buchsuche+'AND (buecher.InventarNr = "'+suche_inventarnr.Text+'") '; end;
procedure Tform_admin.suche_autor1Change(Sender: TObject); begin buchsuche := buchsuche+'AND (autoren.Nachname LIKE "%'+suche_autor1.Text+'%") '; end;
procedure Tform_admin.suche_autor2Change(Sender: TObject); begin buchsuche := buchsuche+'AND (autoren.Vorname LIKE "%'+suche_autor2.Text+'%") '; end;
procedure Tform_admin.suche_newClick(Sender: TObject); begin suche_titel.Clear; suche_verlag.Clear; suche_erscheinungsjahr.Clear; suche_rubrik.Clear; suche_unterrubrik.Clear; suche_buchnr.Clear; suche_inventarnr.Clear; end; //Buchsuche Ende |
So, das ist eine Suche, die an und für sich klappt. Beim ersten Suchdurchgang läuft alles tadellos und fehlerfrei. Wenn ich aber einen anderen Suchbegriff eingebe, bekomme ich nur eine leere Tabellenzeile ausgegeben. Warum geht das nicht?
Ich habe zwar einen Button "Neue Suche" eingebunden (procedure Tform_admin.suche_newClick(Sender: TObject);), der sorgt aber nur dafür, dass der Inhalt von allen Feldern gelöscht wird. Ich habe auch schon zahlreiche Variantebn dort miteingebunden, wie z.B. buchsuche := '' oder q_suche.Close;
q_suche.SQL.Clear;.
Ich erhalte zwar keine Fehlermeldung, geht aber trotzdem nicht!
Udontknow - Mi 20.11.02 15:17
Setze doch einfach mal einen Haltepunkt vor dem Query.Open, und betrachte dann den SQL-Text. Alternativ kannst es auch einfach per ShowMessage(Query1.SQL.Text) ausgeben lassen.
Cu,
Udontknow
Anonymous - Mi 20.11.02 17:24
Problem gelöst... aber keine Ahnung was die Ursache war... ist aber auch egal!
Sephiroth - Do 21.11.02 11:40
Ganz kurz noch etwas... Wie ich schon in deinem anderen Thema beschrieben habe ist es ein Logikfehler den Suchstring in den OnChange-Ereignissen der Editfeldern zu machen... Setzt den String erst zusammen wenn du auf "Suchen" clickst
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!