Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fehler bei Suche! (https://www.delphipraxis.net/22408-fehler-bei-suche.html)

thomasvonmuenster1 17. Mai 2004 13:37


Fehler bei Suche!
 
Nach ein paar Abfragen zeigt er ein falsches Ergebnis an!
Dann gibt er kein Treffer wo einer sein müste.
Könntet ihr mir helfen den fehler zu finden?
Delphi-Quellcode:
begin
timer3.Enabled:=false;
IBQuery5.SQL.Text:='select suchbegriffe from tabelle1 where UPPER(suchbegriffe) like ''%'+UpperCase(ComboBox1.Text)+'%''order by suchbegriffe';
IBQuery5.Open;
ComboBox1.items.clear;
while IBQuery5.Eof=false
do begin
  ComboBox1.Items.Add(IBQuery5.FieldByName('suchbegriffe').AsString);
  IBQuery5.Next;
end;
label2.caption:= 'Treffer '+IntToStr(IBQuery5.recordcount);
end;

Memo 17. Mai 2004 13:59

Re: Fehler bei Suche!
 
Bei jedem Durchlauf, leerst du erstmal die Combobox. Falls deine Query dann ein Resultat enthält werden der CB auch wieder Items hinzugefügt. Woher kommt nun aber der Werts aus Combobox1.text wenn die vorhergehende Suche erfolglos war?

Zitat:

Nach ein paar Abfragen zeigt er ein falsches Ergebnis an!
Könntest du das etwas konkreter ausführen?

thomasvonmuenster1 17. Mai 2004 14:13

Re: Fehler bei Suche!
 
Er sucht erst richtig!
Nach ein paar suchen unterscheidet er nicht mehr nach groß und klein und sogar die wörten findet er auch nicht.
Ich Teste ihn noch mal und schreibe mit.
Melde mich gleich wieder!

thomasvonmuenster1 17. Mai 2004 14:16

Re: Fehler bei Suche!
 
Ich gebe 'a' ein gibt er mir Arbeitsschutz wieder.Richtig!
Gebe ich wieder 'a' ein ist die suche leer!
Woran liegt das???

shmia 17. Mai 2004 14:21

Re: Fehler bei Suche!
 
Zitat:

Zitat von thomasvonmuenster1
Ich gebe 'a' ein gibt er mir Arbeitsschutz wieder.Richtig!
Gebe ich wieder 'a' ein ist die suche leer!
Woran liegt das???

Ich würde zur Sicherheit die Query schliesen, bevor ich SQL.Text verändere.
Vor dem order by fehlt ein Leerzeichen.
Delphi-Quellcode:
.SQL.SaveToFile('C:\abfrage.txt'); // Abfrage in Datei speichern; manchmal hat man bei der Fehlersuche Tomaten auf den Augen

Jens Schumann 17. Mai 2004 14:22

Re: Fehler bei Suche!
 
Zitat:

Zitat von thomasvonmuenster1
Ich gebe 'a' ein gibt er mir Arbeitsschutz wieder.Richtig!
Gebe ich wieder 'a' ein ist die suche leer!
Woran liegt das???

Wo gibst Du das 'a' ein? In die ComboBox? Wenn ja, dann ist ComboBox.Text beim 2.mal gleich 'a#13#10Arbeitsschutz'. Setzt mal einen Breakpoint auf die Zeile
Code:
IBQuery5.SQL.Text:='select suchbegriffe from tabelle1 where UPPER(suchbegriffe) like ''%'+UpperCase(ComboBox1.Text)+'%''order by suchbegriffe';
und schau nach welchen Wert ComboBox1.Text enthält.

Memo 17. Mai 2004 14:25

Re: Fehler bei Suche!
 
Wo gibst du den "a" ein?
Schreib doch einfach mal die Query der 2. Suche hier rein, dann sieht man es evt.

//Edit Jens tippt wesentlich schneller.

thomasvonmuenster1 17. Mai 2004 14:34

Re: Fehler bei Suche!
 
Steige erst in delphi ein was ist ein Breakpoint und wie setzte ich ihn?
Ich suche beides mal von der gleichen ComboBox aus.

Jens Schumann 17. Mai 2004 14:37

Re: Fehler bei Suche!
 
Zitat:

Zitat von thomasvonmuenster1
Steige erst in delphi ein was ist ein Breakpoint und wie setzte ich ihn?

Dafür hast Du Dir aber ziemlich fettes Beispiel ausgesucht. Ein Breakpoint setzt man mit F5. Ach ja - vorher die Zeile anklicken.
Wenn das Programm an dieser Stelle anhält mit dem Cursor über Combobox1.Text fahren. Dann wird der Inhalt von Combobox1.Text in einem Hint angezeigt.

thomasvonmuenster1 17. Mai 2004 14:45

Re: Fehler bei Suche!
 
Setze ich den Breakpoint in den Timer auf die IBQuery Anweisung oder
kommt er in die ComboBox selber wo ich den Timer ein und aus schalte?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz