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 2 von 3     12 3      
marabu

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

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

  Alt 5. Sep 2005, 19:15
Der Fehler liegt dann aber nicht an diesem Code. Kannst du mal beschreiben was nicht tut?

marabu
  Mit Zitat antworten Zitat
romber

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

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

  Alt 5. Sep 2005, 19:24
Ich habe in einer Tabelle fünf Spalten:

kn
name
vorname
plz
ort

Dann ist ein Edit-Feld auf der Form. Ich möchte, dass alle funf Spalten auf den Inhalt dieses Edit-Feldes durchgesucht werden und die Treffer im DBGrid landen, wobei das zweite kein Problem ist. Bis jetzt, egal wie ich die WHERE-Teil aufbaue und wieviele SQL.Add() ich da einfüge, wird nur die Spalte "kn" durchgesucht, obwohl SQL-Syntax

...WHERE (LOWER(kn) LIKE :suche) OR (LOWER(name) LIKE :suche) OR (LOWER(vorname) LIKE :suche)... schon richtig sein sollte. Was denn nun?
  Mit Zitat antworten Zitat
marabu

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

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

  Alt 5. Sep 2005, 19:27
Dein SELECT Statement interessiert mich weniger, zeige mal den Code, mit dem du momentan testest.

marabu
  Mit Zitat antworten Zitat
romber

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

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

  Alt 5. Sep 2005, 19:30
Delphi-Quellcode:
with ADOQuery1 do
  begin
    active := false;
    sql.clear;
    s := '%' + Edit1.Text + '%';
    sql.add('SELECT * FROM KUNDEN WHERE (LOWER(kn) LIKE :suche) OR (LOWER(name) LIKE :suche)');
    ParamCheck := true;
    Parameters.ParamByName('suche').Value := LowerCase(s);
    active := true;
    open;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

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

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

  Alt 5. Sep 2005, 19:37
Da du ja alle Felder auf ein und den selben Inhalt durchsuchst und die ja vom Inhalt ziemlich verschieden sind würde ich statt LIKE mal IN nehmen.
Jan
  Mit Zitat antworten Zitat
romber

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

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

  Alt 5. Sep 2005, 19:38
Zitat von Mr_G:
Da du ja alle Felder auf ein und den selben Inhalt durchsuchst und die ja vom Inhalt ziemlich verschieden sind würde ich statt LIKE mal IN nehmen.
Wie würde es dann aussehen?
  Mit Zitat antworten Zitat
marabu

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

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

  Alt 5. Sep 2005, 19:44
Hi romber,

dein Code enthält nicht die Änderungen, die ich dir empfohlen habe - bist du beratungs-resistent? Durch die mehrfache Verwendung des Parameters :suche kannst du den nicht mehr über den Namen ansprechen, denn jeder Parameter wird in der parameters collection instanziiert. Deshalb mache ich das in einer Schleife. Und entscheide dich für Active True/False oder Open/Close, beides zusammen bringt nix.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

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

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

  Alt 5. Sep 2005, 19:48
Zitat von romber:
Zitat von Mr_G:
Da du ja alle Felder auf ein und den selben Inhalt durchsuchst und die ja vom Inhalt ziemlich verschieden sind würde ich statt LIKE mal IN nehmen.
Wie würde es dann aussehen?
Ich denke so:
...WHERE (LOWER(kn) IN :suche) OR (LOWER(name) IN :suche) OR (LOWER(vorname) IN :suche)... Aber marabu hat glaube ich Recht. Setz erstmal den Vorschlag von marabu um und wenn dann noch nicht das gewünschte Ergebnis kommt versuche es mit dem IN...
Jan
  Mit Zitat antworten Zitat
romber

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

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

  Alt 5. Sep 2005, 19:51
Zitat von marabu:
..bist du beratungs-resistent?...
@marabu
Ich bin nicht beratungsresistent, ich freue mich sogar sehr, wenn die erfahrene Progger mir helfen. Ich habe dein Kode getestet und es wird sogar die Spalte "kn" nicht mehr durchgesucht. Auf jeden Fall, egal was ich in den Edit1 eingeben, wird nichts gefunden. Sicher hast du irgendwo ein kleines Fehlerchen
  Mit Zitat antworten Zitat
marabu

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

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

  Alt 5. Sep 2005, 19:52
Hi Jan,

das meinst du nicht wirklich - schau nochmal in die SQL reference.

Das hier wäre eine korrrekte Verwendung des IN Operators:

SELECT * FROM table WHERE icol IN (2,3,5,7,11,13) Und das hier wäre noch eine:

SQL-Code:
SELECT * FROM kinder WHERE muetter_id IN (
  SELECT id FROM muetter WHERE haarfarbe = 'blond'
)
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 01: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