Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ganzes Wort suchen (https://www.delphipraxis.net/140495-ganzes-wort-suchen.html)

RWarnecke 19. Sep 2009 10:27

Datenbank: Firebird • Version: 2.1 • Zugriff über: Interbase-Kompos von Delphi

Ganzes Wort suchen
 
Hallo zusammen,

ich würde gerne in meinem Programm Code-Orakel in der Suche die Option einbauen, nach einem ganzen Wort zu suchen. Zurzeit benutze ich folgenden Select Befehl :
SQL-Code:
Select * from sourcecode where header containing 'TRichEdit';
Das ist jetzt nur ein Auszug aus dem gesamten Suchbefehl. Nur leider werden ja bei dieser Variante auch Ergbnisse angezeigt, wo der gesuchte Begriff innerhalb einer kompletten Zeichenkette steht.

Die Suche möchte ich so gestalten, das ich einmal Case-Sensitive oder nicht Case-Sensitive suchen kann.

Hat jemand eine Idee, wie ich das realisieren kann ? Ich stehe komplett auf dem Schlauch.

RWarnecke 21. Sep 2009 07:34

Re: Ganzes Wort suchen
 
Hat denn niemand eine Idee, wie ich es realiseren kann ?

Bernhard Geyer 21. Sep 2009 07:38

Re: Ganzes Wort suchen
 
Ich würde hier das per Nachfilterung im Programmcode realisieren.
Case-Sensitive/nicht Case-Sensitive ist normalerweise ein Datenbank/Tabelleneigenschaft und kann AFAIK nicht per Abfrage geändert werden da hier alle Indexinformationen entsprechend aufgebaut sind.

mirage228 21. Sep 2009 07:39

Re: Ganzes Wort suchen
 
Hm Du könntest natürlich die Ergebnismenge nochmal lokal filtern. Bei "Nur ganzes Wort" dürfen dann keine Buchstaben vorher oder danach kommen und Case-Sensitive lässt sich ja mit den normalen Delphi-Funktionen realisieren.
Für case-sensitive gibts bestimmt auch ne SQL-Lösung, die fällt mir aber gerade nicht ein... :twisted:

Sir Rufo 21. Sep 2009 07:59

Re: Ganzes Wort suchen
 
Wie wäre es mit den schönen RegExpr (SQL: SIMILAR TO)?

Und wenn nur die Groß-/Kleinschreibung egal sein soll, dann doch mit:
SQL-Code:
select * from tab where UPPER(field1)=UPPER('TRichEdit')
cu

Oliver

TeronG 21. Sep 2009 08:41

Re: Ganzes Wort suchen
 
:gruebel:
Mal blöd gefragt .... wie währe es mit nem Leerzeichen ' ' vor und nach dem gesuchtem Begriff?
Dann darf der Begriff allerdings nimmer am Anfang oder Ende stehen .. :gruebel:

Bernhard Geyer 21. Sep 2009 08:43

Re: Ganzes Wort suchen
 
Zitat:

Zitat von TeronG
:gruebel:
Mal blöd gefragt .... wie währe es mit nem Leerzeichen ' ' vor und nach dem gesuchtem Begriff?
Dann darf der Begriff allerdings nimmer am Anfang oder Ende stehen .. :gruebel:

Und Satzzeichne werden auch ignoriert ... :gruebel:

Jürgen Thomas 21. Sep 2009 08:47

Re: Ganzes Wort suchen
 
Zitat:

Zitat von TeronG
Dann darf der Begriff allerdings nimmer am Anfang oder Ende stehen .. :gruebel:

Zitat:

Zitat von Bernhard Geyer
Und Satzzeichne werden auch ignoriert ... :gruebel:

Und damit wird diese "einfache" Lösung immer komplizierter.

Ich bin mir sicher: So schlau ist Rolf auch. Am sinnvollsten dürfte tatsächlich eine Nachfilterung per RegEx sein. (Aber dafür habe ich mangels Kenntnis keine praktikablen Vorschläge.)

Gruß Jürgen

/Edit: Vorname berichtigt. Sorry!

Sir Rufo 21. Sep 2009 08:49

Re: Ganzes Wort suchen
 
Zitat:

Zitat von Jürgen Thomas
Am sinnvollsten dürfte tatsächlich eine Nachfilterung per RegEx sein.

Wieso Nachfilterung, wenn Firebird das schon beherrscht?

Bernhard Geyer 21. Sep 2009 08:55

Re: Ganzes Wort suchen
 
Zitat:

Zitat von Sir Rufo
Zitat:

Zitat von Jürgen Thomas
Am sinnvollsten dürfte tatsächlich eine Nachfilterung per RegEx sein.

Wieso Nachfilterung, wenn Firebird das schon beherrscht?

Und mit welchem SQL? Dein Beispiel-SQL kann das nämlich nicht!

Anforderung:
Zitat:

nach einem ganzen Wort zu suchen.
Nur leider werden ja bei dieser Variante auch Ergbnisse angezeigt, wo der gesuchte Begriff innerhalb einer kompletten Zeichenkette steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.
Seite 1 von 3  1 23      

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