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 1 von 2  1 2      
Benutzerbild von p80286
p80286

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

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 10: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
 
#2

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 10: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
 
#3

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11: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.880 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11: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
 
#5

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11: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.880 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:26
Schau dir mal die Zuweisung in meinem Code an
Markus Kinzler
  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, 11:30
Ich komm nicht dahinter
Grüße, m-werk
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:33
Ich komm nicht dahinter
Die Methode heisst ParamByName() und nicht ParameterByName() und ist Teil der Klasse TParameter (Parameter) und nicht Teil der StringListe (SQL)
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, 11:35
Diese änderung hab ich schon gemacht, aber es kommt jetzt trotzdem eine Fehlermeldung:

Exception-Klasse EDatabaseError mit Meldung "ADOQuery1: Parameter 'name' nicht gefunden".

Diese Fehlermeldung tritt hier in der ADOQuery1.Parameters..... auf.

Code:
procedure TForm1.EditSearchExit(Sender: TObject);
begin
  ADOQuery1.Parameters.ParamByName('name').Value := EditSearch.Text;
  if ADOQuery1.Active then
    ADOQuery1.Refresh
  else
    ADOQuery1.Open;
end;
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#10

AW: Nur gesuchte Datensätze im DBGrid anzeigen

  Alt 4. Apr 2012, 11:41
Delphi-Quellcode:
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='select * from kundendaten where nachname like :name';
  ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text,true);
  ADOQuery1.Parameters.parambyname('name').Value:='test';
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz