Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi memo Feld in Datenbank durchsuchen (https://www.delphipraxis.net/84531-memo-feld-datenbank-durchsuchen.html)

Jacuzzi 18. Jan 2007 08:06

Datenbank: Paradox • Version: 7 • Zugriff über: Query

memo Feld in Datenbank durchsuchen
 
Ich habe eine kleine Paradox db, in dieser möchte ich eine Volltextsuche realisieren.
Jedoch funktioniert anscheinend die Suche in der db nicht, welche den Feldtyp 'memo' besitzen.

Hier ein kleiner bescheidener Auszug aus mein Quellcode:

Delphi-Quellcode:
procedure titel_einlesen(sfilter :string); // sfilter = zu suchender Text
begin
  Form1.lb_titel.Clear;
  Form1.Table1.First;

  repeat
    if (pos(sfilter,Form1.Table1.FieldValues['Titel']) <> 0) or
       (pos(sfilter,Form1.Table1.FieldValues['Problem']) <> 0) or
       (pos(sfilter,Form1.Table1.FieldValues['Loesung']) <> 0) then
      Form1.lb_titel.Items.Add(Form1.Table1.FieldValues['Titel']);

    Form1.Table1.Next;
  until Form1.Table1.Eof;
end;
Es soll jedes Feld eines Datensatz der db durchsucht werden.
Wenn in einem Feld des Datensatz der gesuchte Text vorhanden ist, dann soll der 'Titel' dieses Datensatzes in eine Listbox geschrieben werden.



MfG Jacuzzi.

mkinzler 18. Jan 2007 08:18

Re: memo Feld in Datenbank durchsuchen
 
Warum läßst du nicht die Datenbank die Arbeit machen (SQL)?

freak4fun 18. Jan 2007 08:35

Re: memo Feld in Datenbank durchsuchen
 
Zitat:

Zitat von mkinzler
Warum läßst du nicht die Datenbank die Arbeit machen (SQL)?

Wie denn das? :shock:

MfG
freak

Jacuzzi 18. Jan 2007 08:38

Re: memo Feld in Datenbank durchsuchen
 
Mit SQL hab ich auch schonmal probiert.
Geht aber irgednwie nicht:

Delphi-Quellcode:
   
Form1.Query1.SQL.Text := 'SELECT * FROM problemloesung WHERE Titel ' + sfilter;
   
repeat
  Form1.lb_titel.Items.Add(Form1.Query1.FieldValues['Titel']);
until Form1.Query1.Eof;

btw. Die Paradox Datenbank liegt lokal und läuft ohne BDE!

mkinzler 18. Jan 2007 08:40

Re: memo Feld in Datenbank durchsuchen
 
Zitat:

Wie denn das? Shocked
SQL-Code:
select titel from <tabelle> where titel like '%<suchbegriff>%' or problem like '%<suchbegriff>%' or loesung like '%<suchbegriff>%';

mkinzler 18. Jan 2007 08:41

Re: memo Feld in Datenbank durchsuchen
 
Zitat:

btw. Die Paradox Datenbank liegt lokal und läuft ohne BDE!
Wenn du TTable nimmst, verwendest du die BDE!

Jacuzzi 18. Jan 2007 09:08

Re: memo Feld in Datenbank durchsuchen
 
Zitat:

Zitat von mkinzler
Zitat:

btw. Die Paradox Datenbank liegt lokal und läuft ohne BDE!
Wenn du TTable nimmst, verwendest du die BDE!

nö :wink:
Ich wende die Table einfach auf die lokale Datenbank an, ohne BDE Zugriff.



Zitat:

Zitat von mkinzler
SQL-Code:
select titel from <tabelle> where titel like '%<suchbegriff>%' or problem like '%<suchbegriff>%' or loesung like '%<suchbegriff>%';

Das geht auch nicht:

Delphi-Quellcode:
    Form1.Query1.SQL.Text := 'SELECT titel FROM problemloesung WHERE titel LIKE %sfilter% OR problem LIKE %sfilter%  OR loesung LIKE %sfilter%';

repeat
  Form1.lb_titel.Items.Add(Form1.Query1.FieldValues['titel']); // hier bekomm ich die Fehlermeldung "Query1: Das Feld 'titel' wurde nicht gefunden"
  Form1.Table1.Next;
until Form1.Query1.Eof;

mkinzler 18. Jan 2007 09:12

Re: memo Feld in Datenbank durchsuchen
 
Zitat:

ö Wink

Ich wende die Table einfach auf die lokale Datenbank an, ohne BDE Zugriff.
Was für eine Komponente verwendest du?

Jacuzzi 18. Jan 2007 09:19

Re: memo Feld in Datenbank durchsuchen
 
Zitat:

Zitat von mkinzler
Zitat:

nö :wink:

Ich wende die Table einfach auf die lokale Datenbank an, ohne BDE Zugriff.
Was für eine Komponente verwendest du?

-> TTable

mkinzler 18. Jan 2007 09:44

Re: memo Feld in Datenbank durchsuchen
 
Dann verwendest du auch die BDE!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 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