![]() |
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Dann mach das ',' hinter Kundendaten weg, das steht auch bei den Vorschlägen nicht
|
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Ok, hab ich gemacht.
Eine Sache wäre noch: Das mit den Platzhalter vor und dannach. Wo werden die denn eingebaut? |
AW: Nur gesuchte Datensätze im DBGrid anzeigen
An die Stelle an der sonst der Wert steht
Statt
SQL-Code:
Name like '%Müller'
SQL-Code:
Name like :name
|
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Ja schon aber wenn ich dort dies so eingebe
Code:
funktioniert das ganze nicht
where nachname like %:name%
|
AW: Nur gesuchte Datensätze im DBGrid anzeigen
SQL-Code:
Und die Joker im Paramter:
where nachname like :name;
Delphi-Quellcode:
ADOQuery1.Parameters.ParamByName('name').Value := '%'+ EditSearch.Text + '%';
|
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Delphi-Quellcode:
ADOQuery1.Parameters.ParamByName('name').Value := '%' + EditSearch.Text + '%';
|
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Mensch, eh so einfach. Wo ich überall dies versucht hab....
So, die Suche funktioniert FAST. Ich hab diese jetzt noch um 3 weitere Felder erweitert:
Code:
Ein Problem hab ich noch damit.
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; end; Es wird, egal was ich suche, immer der 1. Datensatz mitangezeigt. |
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Das lässt sich auch noch ausbauen:
Delphi-Quellcode:
type
TTextSearchType = (stBeginsWith, stEndsWith, stContains); ... const SEARCHSTRINGS: array[TTextSearchType] of string = ('%%%s', '%s%%', '%%%s%%'); ... var TextSearchType: TTextSearchType; ... ADOQuery1.Parameters.ParamByName('name').Value := Format(SEARCHSTRINGS[TextSearchType], [EditSearch.Text]); |
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Das versteh ich jetzt nicht ganz: Wo kommt der Bereich "const" und "var" genau hin?
|
AW: Nur gesuchte Datensätze im DBGrid anzeigen
Ok habs kappiert, aber trotzdem bekomme ich immer noch den 1. Datensatz im DBGrind nach der suche mitangezeigt!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 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