Autor Beitrag
Kuckuckskind
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 20.11.02 14:41 
Hallo,

und noch ein Problem: (kennt eigentlich jemand ein umfassendes Tutorial zur Datenbankprogrammierung?)
ausblenden volle Höhe 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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
Kuckuckskind
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 20.11.02 17:24 
Problem gelöst... aber keine Ahnung was die Ursache war... ist aber auch egal!
Sephiroth
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 102



BeitragVerfasst: 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