AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Suche in der Datenban und Ausgabe im DBGrid???
Thema durchsuchen
Ansicht
Themen-Optionen

Suche in der Datenban und Ausgabe im DBGrid???

Ein Thema von romber · begonnen am 5. Sep 2005 · letzter Beitrag vom 6. Sep 2005
Antwort Antwort
Seite 1 von 3  1 23      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 14:45
Datenbank: MSSQL Server • Version: 2000 • Zugriff über: ADO
Hallo!

Ich habe einen DBGrid, der über ADOTable mit der Datenbank auf dem MSSQL Server verbunden ist. Im DBGrid werden alle Spalten und alle Datensätze angezeigt. Ich möchte jetzt so eine Filter-Funktion einbauen, die alle Spalter aller Datensätze nach einem Suchbegriff durchsucht und die Treffer in demselben DBGrid anzeigt. Mit "Treffer" sind die Datensätze gemeint, in den der Suchbegriff gefunden wurde. Wie mache ich das?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 14:47
Du nimmst TADODataset und arbeitest mit Queries:

Delphi-Quellcode:
ADODataset.CommandText := 'SELECT * FROM MeineTabelle where MyFeld = :MyFeld';
ADODataset.ParamByName('MyFeld').AsString := 'xyz';
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#3

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 17:30
Danke für schnelle Antwort!

Ich habe in einem anderen Beispiel die Lösung gefunden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s: String;
begin
  with ADOQuery1 do
  begin
    active := false;
    sql.clear;
    s := '%' + Edit1.Text + '%';
    sql.add('SELECT * FROM KUNDEN WHERE LOWER(kn) LIKE :suche');
    ParamCheck := true;
    Parameters.ParamByName('suche').Value := LowerCase(s);
    active := true;
    open;
  end;
end;
Ich möchte aber nicht nur die Spalte "kn" durchsuchen, sondern auch einige anderen Spalten. Wie soll in diesem Fall meine WHERE aussehen?
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 17:45
Ich bin mir nicht sicher aber könnte man das dann nicht mit OR verknüpfen?
Etwa so:
SELECT * FROM KUNDEN WHERE (LOWER(kn) LIKE :suche) OR (LOWER(xy) LIKE :suche)
Jan
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#5

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 18:49
Zitat von Mr_G:
Ich bin mir nicht sicher aber könnte man das dann nicht mit OR verknüpfen?
Etwa so:
SELECT * FROM KUNDEN WHERE (LOWER(kn) LIKE :suche) OR (LOWER(xy) LIKE :suche)
Wäre logisch. Ich habe es auch versucht, SQL meldet zwar kein Fehler, es wird trotzdem nur die erste Bedingung erfüllt. Noch Ideen?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 18:55
Hai romber,

hast Du einmal versucht für die zweite "Like-Abfrage" einen eigenen Parameter anzugeben (:suche2)?
Nicht das da etwas bei der Parameter Zuweisung falsch läuft.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#7

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 19:05
Nee, geht auch nicht
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 20:01
Hi romber,

ob es das gewünschte Ergebnis bringt, steht auf einem anderen Blatt, aber funktionieren sollte das hier:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
  i: Integer;
begin
  with ADOQuery1 do
  begin
    s := '%' + AnsiLowercase(Edit1.Text) + '%';
    sql.Clear;
    sql.Add('SELECT * FROM KUNDEN WHERE LOWER(kn) LIKE :suche ');
    sql.Add('OR LOWER(xy) LIKE :suche ');
    sql.Add('OR LOWER(yz) LIKE :suche ');
// for i := 0 to ParamCount - 1 do // Danke Sharky für deine Korrektur
    for i := 0 to Parameters.Count - 1 do
      Parameters.Items[i].Value := s;
    open;
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#9

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 20:10
Zitat von marabu:
Hi romber,

ob es das gewünschte Ergebnis bringt, steht auf einem anderen Blatt, aber funktionieren sollte das hier:
Tut es aber nicht
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Suche in der Datenban und Ausgabe im DBGrid???

  Alt 5. Sep 2005, 20:14
Ich weiß ja nicht was rauskommen soll aber kann es sein das LIKE vielleicht nicht das ist was du brauchst? Soweit ich weiß bringt das nämlich nur was bei minnimalen Abweichungen vom Original. Vielleicht suchst du einfach nochmal in die Richtung.
Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 06:21 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