Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mysql + zeos + dbgrid problem ! (https://www.delphipraxis.net/47536-mysql-zeos-dbgrid-problem.html)

SeeAAL 12. Jun 2005 19:40

Datenbank: mysql • Version: 3.23.52 • Zugriff über: zeos komponenten

mysql + zeos + dbgrid problem !
 
also fürs erste geb ich es auf

ich möchte gerne im onchange eines edits mein dbgrid filtern lassen , also wen ich z.b. nach namen filtern möchte und nur z.b. " L " eingebe sollen nur noch alle namen die mit L beginnen angezeigt werden. gebe ich aber " La " sollen nur noch alle namen mit LA am anfang angezeigt werden. alles klar ? :D

ich hab schon ne menge probiert z.b. über den filter der ztable aber nix half bis jetzt

im prinzip will ich sowas haben -> SELECT * FROM bla WHERE name LIKE 'bla%%%'


ich habe
mysql db
ein dbgrid
und die zeos komponenten

evtl kann mir ja jemand helfen

Sharky 12. Jun 2005 20:02

Re: mysql + zeos + dbgrid problem !
 
Hai SeeAAL,

Du hast doch eingentlich schon die Lösung beschrieben ;-)

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  with ZQuery1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM test1 WHERE name LIKE :name'; // Tabellennamen anpassen
    ParamCheck := True;
    ParamByName('name').AsString := '%';
    Open;
  end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  ZQuery1.ParamByName('name').AsString := Edit1.Text + '%';
  ZQuery1.Refresh;
end;
Du musst dich aber fragen ob dies eine gute Idee ist. Immerhin werden jetzt bei jeder Änderung im Edit die Daten neu vom mySQL-Server geladen :!:

Tom70 12. Jun 2005 20:18

Re: mysql + zeos + dbgrid problem !
 
Oder so:

Delphi-Quellcode:
Query.Close;
Query.SQL.Clear;
Query.SQL.Text := 'select * from Table_x where upper(spalte_x) like '+UpperCase(quotedstr('%'+Edit.Text+'%'));
Query.Open;
Grüße,
Tom

SeeAAL 12. Jun 2005 20:24

Re: mysql + zeos + dbgrid problem !
 
ah danke :-) des ging fix gleich mal testen

das die daten neu geladen werden , sollte bei mir nicht das prob sein , ist nen lokaler mysql server mit nur einem benutzer
also sollte sich das ganze was drum herum geschieht in grenzen halten

SeeAAL 12. Jun 2005 20:37

Re: mysql + zeos + dbgrid problem !
 
ah ich denke ich hab mich falsch ausgedrückt oder ganz einfach vor lauter ärger das wichtigste vergessen

sowas wie ihr hat ich ja auch schon , ähnlich halt .

aber selbst bei SELECT * FROM bla aktualisiert sich mein dbgrid nicht , das is das problem :-)
also nicht die wildcards sondern das doofe doofe dbgrid ist wohl das prob :D
naja mein fehler

btw evtl wisst ihr ja ne anderen dbgrid kompo muss ja nicht viel schnickschnak haben, so das sie auch ein nicht so versierter user benutzen kann :-)

Sharky 13. Jun 2005 05:49

Re: mysql + zeos + dbgrid problem !
 
Zitat:

Zitat von Tom70
Oder so: ...

Hai Tom,
das "UpperCase" ist nicht notwendig. mySQL berücksichtigt in der Standardkonfiguration keine Groß-/Kleinschreibung bei einer LIKE-Abfrage.

@SeeALL:
Das Verstehe ich jetzt nicht. Das DBGrid muss bei den beiden Codebeispielen aktualiesiert werden.
Und viel "schnickschnak" hat das normale DBGrid ja nicht. Zeige doch mal etwas von deinem Quellcode.

SeeAAL 13. Jun 2005 16:32

Re: mysql + zeos + dbgrid problem !
 
Hai Fischkollege ;-)

ich hab mich jetzt mal an toms beispiel gehalten, deins habe ich aber auch probiert.

Delphi-Quellcode:
 zquery1.Close;
 zquery1.SQL.clear;
 zquery1.SQL.Text := 'SELECT * FROM blabla WHERE name = ''bla''';
 zquery1.Open;
so sieht mein code halt aus, danach halt zum aktuallisieren hab ich es mit z.b. ztbale1.refresh oder dbgrid1.refresh probriert, aber nix hat geholfen :-)

das einzige wo ztable1.refresh funzt und sich das dbrid ändert ist wenn ich DELETE oder INSERT benutze
nur halt bei SELECT nicht, ka was das sein kann , evtl versteh ich ja da was nicht

Wobei der SELECT Befehl ansich ausgeführt wird , weil ich über zqery1.fields[x] an das ergebnis komme, was auch leicht zu überprüfen ist da ich nur 4 einträge in der tabelle habe , evtl hab ich ja nur was alsch verknüpft, was ich aber auch nicht glaube da ja DELETE und INSERT gehen .

so sehen meine verknüpfungen aus :

dbgrid1 -> datasource1
zquery1 -> datasource1
ztable1 -> datasource1
datasource1 -> ztable1

evtl hilft das ja

marabu 13. Jun 2005 16:46

Re: mysql + zeos + dbgrid problem !
 
Hallo SeeAal,

Zitat:

Zitat von SeeAAL
zquery1 -> datasource1
ztable1 -> datasource1

Soll das bedeuten zquery1.DataSource = DataSource1? Dann glaube ich, dass du die beiden Verknüpfungen nicht wirklich willst.

Grüße vom marabu

SeeAAL 13. Jun 2005 17:06

Re: mysql + zeos + dbgrid problem !
 
ja soll es , ist das falsch ? und wenn ja erklär es mir bitte :-)

marabu 13. Jun 2005 17:17

Re: mysql + zeos + dbgrid problem !
 
Mit der Einstellung steuerst du Master-Detail-Beziehungen. Da du aber auch DataSource1.DataSet auf zTable1 gesetzt hast, gehe ich davon aus, dass du das eher nicht willst. Ansonsten musst du mal die Online-Hilfe zur Eigenschaft DataSource einer Table/Query genau lesen.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Seite 1 von 2  1 2      

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