AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Nur gesuchte Datensätze im DBGrid anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Nur gesuchte Datensätze im DBGrid anzeigen

Ein Thema von m-werk · begonnen am 4. Apr 2012 · letzter Beitrag vom 11. Apr 2012
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#31

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 14:01
So, wenn ich beim Select nur einen Wert hernehme, also wenn ich alle OR weglasse, dann funktionierts.

Sobald ich aber mehrere Spalten abfragen möchte, dann kommt immer der 1. Datensazt mitangezeigt im DBGrid!
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#32

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 16:58
Was passiert denn, wenn Du das Statement mal direkt per SQL-Editor (welcher, hängt vom verwendeten DBMS ab) auf die DB loslässt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#33

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 17:06
Welche Daten stehen denn im 1. Datensatz?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#34

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 10. Apr 2012, 11:00
Hallo, wenn ich in Access dieses Select ausführe:
Code:
SELECT * FROM kundendaten WHERE nachname LIKE 'Huber' OR telefon1 LIKE ''
dann kommen nur die beiden Datensätze, wo der Nachname "Huber" ist.

In Delphi kommt aber zusätzlich noch der 1. Datensatz. Der Innhalt ist aber ein ganz ein anderer.

Code:
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='SELECT * FROM kundendaten WHERE nachname LIKE :name OR telefon1 LIKE :telefon1'; // OR telefon2 LIKE :telefon2';
  ADOQuery1.Parameters.ParamByName('name').Value := '%' + EditSearch.Text + '%';
  ADOQuery1.Parameters.ParamByName('telefon1').Value := '%' + EditSearch.Text + '%';
  ADOQuery1.Open;
  if ADOQuery1.Active then
   ADOQuery1.Refresh
  else
    ADOQuery1.Open;
end;
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#35

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 10. Apr 2012, 11:11
Das ist aber nicht das Query, welches von deinem Programm generiert wird. Dein Programm macht daraus

Code:
OR telefon1 LIKE '%%'
Und jetzt rate mal welche Datensätze darauf zutreffen.

Du musst also noch eine Abfrage machen, ob in den Edits überhaupt etwas drin steht.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog

Geändert von Valle (10. Apr 2012 um 11:12 Uhr) Grund: Hatten wir hier nicht mal einen SQL-Highlighter? :duck:
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#36

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 10. Apr 2012, 11:15
Ja, aber es gibt NUR ein Edit-Feld. Dort wird entweder der Nachname oder die Telefonnummer eingetragen.
Also steht im Edit eigentlich IMMER was drinn!
Grüße, m-werk
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#37

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 10. Apr 2012, 11:18
Hallo, wenn ich in Access dieses Select ausführe:
Code:
SELECT * FROM kundendaten WHERE nachname LIKE 'Huber' OR telefon1 LIKE ''
dann kommen nur die beiden Datensätze, wo der Nachname "Huber" ist. [...]
Und was kommt bei
Code:
SELECT * FROM kundendaten WHERE nachname LIKE '%Huber%' OR telefon1 LIKE '%Huber%'
?
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#38

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 10. Apr 2012, 11:20
Da kommen im Access auch nur jene beiden Datensätze, welche HUBER heißen,
Grüße, m-werk
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#39

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 11. Apr 2012, 12:19
Komisch, heute hab ich es nochmal probiert und nun funktioniert es, ohne dass der 1. Datensatz auch erscheint.

Danke für die Hilfe
Grüße, m-werk
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#40

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 11. Apr 2012, 14:59
Ha, eine Frage hätte ich noch.

Ich hab versucht, eine MessageBox einzubauen, so dass diese Erscheint, wenn KEIN Kunde gefunden wurde. Leider schlug mein Versuch fehl, Da diese Messagebox immer wieder erscheint, obwohl ein Kunde gefunden wurde. Ich weiss nicht, wo ich meine Box hinsetzen muss!
Code:
procedure TForm1.BtnSearchClick(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='SELECT * FROM kundendaten WHERE nachname LIKE :name OR telefon1 LIKE :telefon1 OR telefon2 LIKE :telefon2';
  ADOQuery1.Parameters.ParamByName('name').Value := '%' + EditSearch.Text + '%';
  ADOQuery1.Parameters.ParamByName('telefon1').Value := '%' + EditSearch.Text + '%';
  ADOQuery1.Parameters.ParamByName('telefon2').Value := '%' + EditSearch.Text + '%';
  ADOQuery1.Open;
  if ADOQuery1.Active then
   ADOQuery1.Refresh
  else
    ADOQuery1.Open;
    MessageDlg('Der Kunde "' + EditSearch.Text + '" wurde leider nicht gefunden!', mtInformation,
    [mbOK],0);
end;
Grüße, m-werk
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 04:46 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