AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TDBF - Suchen (mit Wildcards)
Thema durchsuchen
Ansicht
Themen-Optionen

TDBF - Suchen (mit Wildcards)

Ein Thema von moelski · begonnen am 24. Nov 2004 · letzter Beitrag vom 25. Nov 2004
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

TDBF - Suchen (mit Wildcards)

  Alt 24. Nov 2004, 20:47
Moin !

Ich progge mir gerade meine erste DB Anwendung. Und zwar brauche ich für ein anderes Projekt eine EMail/Newsletter Verwaltung. Dort kann ich Name, Ort, ...., Mail und ein Boolean ablegen für Newsletter ja/nein. Dazu noch ein Memo wo ich einen Text hinterlegen kann.
Als DB verwende ich die TDBF. Weil das reicht mir vollkommen und ich brauche die BDE nicht.
Ich habe das Prog mitlerweile ganz gut am rennen. Sprich Eingaben und Ausgaben gehen wunderbar. Aber nun müsste ich ein bisserl über die DB Suchen, um mir entsprechende Maillisten generieren zu lassen. Nur wie !?

Eins muss ich noch dazu sagen ... In meiner DB gibts z.B. so ne Tabelle (is in Echt etwas umfangreicher).
Name | EMail | Gerät
Nun müsste ich nach bestimmten Geräten suchen. Bräuchte aber Wildcards, denn es gibt z.B. ein ISL 6 und ISL 8 oder einer nennt es z.B. Schulze ISL. Was mich nun interessiert ist das "ISL". Und dazu brauche ich dann alle Mailadressen.
Kurzum kann man da irgendwie was mit Wildcards machen, oder geht das mit der DB nicht? Und wie sollte man die Suche bewerkstelligen? Mit Locate!? Muss ich dann in einer For Schleife die ganzen einzelnen Sätze durchgehen, oder macht das Locate selber? Und wenn letzteres wie Suche ich dann weiter!?

Hänge da im Moment irgendwie ein bisserl und hoffe mir kann da einer 1-2 Tips geben. Thx!
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: TDBF - Suchen (mit Wildcards)

  Alt 24. Nov 2004, 20:49
Hi,

soweit ich weiss gibt es den SQL Befehl "like" mit dem Auf Ähnlichkeit prüfen kann (Hier im Forum suchenSQL LIKE).

Alternativ könntest Du alles Datensätze durchgehen und diese mit einem Hier im Forum suchenRegEx matchen.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: TDBF - Suchen (mit Wildcards)

  Alt 24. Nov 2004, 20:53
Moin !

Zitat:
SQL Befehl
Öhm, ich habe da ne DBase IV Datenbank. Leider keine SQL. Und die Befehle gibt es nicht für meine DB (oder ich finde sie nicht ).

Also wie gesagt ich habe hier eine TDBF Datenbank und kein SQL.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TDBF - Suchen (mit Wildcards)

  Alt 25. Nov 2004, 06:21
Wenn es die Eigenschaften Filter und Filtered gibt, versuch es mal damit. In die Eigenschaft Filter setzt du die WHERE-Klausel einer SQL-Anwendung und mit Filtered = TRUE setzt du den Filter, Beispiel:

Code:
...
var
  SuchStr: String;
...
SuchStr := 'blubber';
with TDBF1 do
begin
  Filtered := False;
  Filer := 'NAME LIKE ' + QuotedStr('%' + SuchStr + '%');
  Filtered := True;
end;
...
Grü0e
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#5

Re: TDBF - Suchen (mit Wildcards)

  Alt 25. Nov 2004, 08:15
Moin!

Mit dem Filter kann ich zwar suchen, aber nicht nach einem Teilstring. Was noch geht ist z.B. M* > also alles suchen was mit M anfängt.
Ich brauche aber zwingend eine Teilstringsuche. Bsp: In der Tabelle steht folgender String: "Hallo 123Welt". Nun möchte ich eine Suchanfrage starten, die mir als Ergebnis alle Datensätze liefert, wo in dem String 123 vorkommt.
Weiterhin bräuchte ich ne Möglichkeit, um zu prüfen ob in der Tabelle ein Boolscher Wert True oder False ist.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TDBF - Suchen (mit Wildcards)

  Alt 25. Nov 2004, 09:20
Schon mal versucht, das % durch * zu ersetzen?

Normalerweise kann ich auch in einem Filter mit LIKE hantieren...

Grüße
mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: TDBF - Suchen (mit Wildcards)

  Alt 25. Nov 2004, 11:13
Du hast im Prinzip 3 Möglichkeiten:
  • du verwendest eine Query mit LIKE
  • du füllst das Property Filter und setzt Filtered:=True
  • du schreibt dir deinen eigenen Filter mit hilfe von OnFilterRecord
Ich geb dir etwas Hilfe zur 3. Möglichkeit.
Dazu musst du einen Eventhandler für OnFilterRecord schreiben:
Delphi-Quellcode:
procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
  Accept := CompareWildText('*LSL*', DataSet.FieldByName('Geraet').AsString);
end;
Die Funktion CompareWildText bekommst du in der Code-Library:
http://www.delphipraxis.net/internal...ct.php?t=21980
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 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