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

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 1 von 5  1 23     Letzte » 
m-werk

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

Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 10:52
Hallo Leute!

So, nach knapp 10 Jahren bin ich wieder zurück. Ich bin gerade dabei ein kleines Kundenverwaltungsprogramm zu erstellen. Hat etwas gedauert bis ich wieder drinn bin.

Hab jetzt aber ein kleines Problem noch mit meinem Programm.
Soweit funktioniert alles. Ich möchte mein Programm nur etwas verbessern.

Mit folgendem Code kann ich nach Datensätzen suchen und diese werden mir auch in der DBGrind markiert angezeigt.

Code:
procedure TForm1.BtnSearchClick(Sender: TObject);
begin
  ADOTable1.First;
  while NOT ADOTable1.Eof do
  begin
    if ADOTable1Nachname.Text = EditSearch.Text then
      break
    else
      ADOTable1.Next;
  end;
end;
Es wird, wenn ich nach "Huber" suche, der 1. Huber makiert und angezeigt. Das ist schon richtig so, aber ich möchte NUR alle Huber bzw. alle Personen im DBGrid sehen, die Huber heißen bzw. wo "huber" im Nachnamen vorkommt.

Könnte mir hier jemand behilflich sein?
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#2

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:10
1. Möglichkeit : Nimm anstelle der ADOTable eine ADOQuery
2. Möglichkeit : Tables haben die Eigenschaft Filter und Filtered
Glückauf
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:11
Ich würde in diesem Falle mit einer Query arbeiten
Code:
select wasmanbraucht from Tabelle where Name like '%huber%';
(funktioniert wenn die DB nicht casesensitive ist)

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
 
#4

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:20
Ok, danke mal für die Antworten.

Wenn ich den select befehl für die Query eingebe, was muss ich als Value eingeben, so dass die Werte vom Feld "EditSearch" herangezogen werden?
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:26
das sollte ungefähr so aussehen:

Code:
myquery.close;
myquery.sql.text:='select name from tabelle where name like :name';
myquery.sql.parameterbyname('name').asstring:=edit1.text;
myquery.open;
wobei Du die entsprechenden Platzhalter (% _) entweder unterwegs dazu packst oder aber dem Benutzer überlässt.

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
 
#6

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:43
Ich hab es mal so eingebaut.

Ich habe eine neue ADOQuery1 eingebaut und mit meiner ADOConnection1 verbunden. Unter DataSource habe ich meine DataSource1 eingegeben.

Weiters hab ich noch eine DataSource2 eingebaut und mein DBGrid mit dieser Verbunden. Diese DataSource2 hab ich dann auch mit der ADOQuery1 verbunden.

So, dein Code oben leuchtet mir ein, nur wie baue ich diesen in den Quelltext genau ein? Wenn ich im ADOQuery1 unter Eigenschaften auf SQL klicke, kann ich doch nur den SQL-Code eingeben, oder?
Grüße, m-werk
  Mit Zitat antworten Zitat
m-werk

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

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 12:09
So, nun hab ich folgenden Code mal drinn, leider funktioniert dieser nicht:

Code:
procedure TForm1.BtnSearchClick(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='select * from kundendaten, where nachname like :name';
  ADOQuery1.SQL.parameterbyname('name').asstring:=EditSearch.Text;
  ADOQuery1.Open;
end;
Eskommt die Meldung: Undeklarierter Bezeichner: 'parameterbyname'
Grüße, m-werk
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 12:10
Ja dort gibst du dann die parametrisierte Abfrage ein
Code:
select name from tabelle where name like :name;
Später z.B. beim Exit des Editfeldes, brauchst du dann nur den Parameter setzen:

Delphi-Quellcode:
AdoQuery1.Parameters.ParamByName('name').Value := EditSearch.Text;
if AdoQuery1.Active then
    AdoQuery1.Refresh
else
    AdoQuery1.Open;
Markus Kinzler
  Mit Zitat antworten Zitat
m-werk

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

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 12:24
Code:
procedure TForm1.EditSearchExit(Sender: TObject);
begin
  ADOQuery1.Parameters.ParamByName('name').Value := EditSearch.Text;
  if ADOQuery1.Active then
    ADOQuery1.Refresh
  else
    ADOQuery1.Open;
end;

procedure TForm1.BtnSearchClick(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='select * from kundendaten, where nachname like :name';
  ADOQuery1.SQL.parameterbyname('name').asstring:=EditSearch.Text;
  ADOQuery1.Open;
end;
Es kommt aber immer noch diese Fehlermeldung bei "parameterbyname" in der Codezeile
Code:
ADOQuery1.SQL.parameterbyname('name').asstring:=EditSearch.Text;
Grüße, m-werk
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 12:26
Schau dir mal die Zuweisung in meinem Code an
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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