Delphi-PRAXiS

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?

Jens Schumann 17. Mai 2004 14:51

Re: Fehler bei Suche!
 
HAllo,
in Deinem Source diese Zeile markieren
Delphi-Quellcode:
IBQuery5.SQL.Text:='select suchbegriffe from tabelle1 where UPPER(suchbegriffe) like ''%'+UpperCase(ComboBox1.Text)+'%''order by suchbegriffe';
auf F5 drücken und Programm starten.

thomasvonmuenster1 17. Mai 2004 15:03

Re: Fehler bei Suche!
 
Der Breakpoint sagt mir (Zugriffsverletzung bei 00404E94 und Zugriff auf 656C656B)???

Memo 17. Mai 2004 15:23

Re: Fehler bei Suche!
 
Zitat:

Zitat von thomasvonmuenster1
Der Breakpoint sagt mir (Zugriffsverletzung bei 00404E94 und Zugriff auf 656C656B)???

Und was sagen dir die Werte(die der Variablen) bevor es zum Fehler kommt.


PS. Also wirlich Thomas, ein wenig Initiative kann man doch erwarten. Dieses ewige Ratespiel und Rückgefrage ist recht ermüdend.
Beantworte doch, nachdem du jetzt mitbekommen hast was ein Debugger ist, die immer noch ausstehenden Fragen, bevor man die jetzt wieder die gleichen Fragen stellen müssen.

Deine Enterprise-Version besitzt eine Hilfe die erklärt, wie man mit dem Debugger umgeht.

thomasvonmuenster1 17. Mai 2004 15:38

Re: Fehler bei Suche!
 
Sorry aber ich mache Delphi erst seit 18.03.2004.
Bin kein Programmierer. Aber mit Delphi-Praxis können auch keine Profis Programmieren lernen!
Immer noch das gleiche Problem aber keine Idee was der Fehler sagt.
Wo kann ich nachschlagen oder weis einer von euch weiter!
Danke an alle die auch die Anfänger unterstützen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.

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