Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ZEOS... Wie führe ich die Befehle "richtig" aus? (https://www.delphipraxis.net/33914-zeos-wie-fuehre-ich-die-befehle-richtig-aus.html)

TheMiller 14. Nov 2004 18:22


ZEOS... Wie führe ich die Befehle "richtig" aus?
 
Hey Leute,

ich habe jetzt alles geschafft. Von mysql auf Linux installieren, bis Delphi-Progamm schreiben. Doch eins macht mir noch probleme...

Ich gebe folgendes ein:

Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
  ZQuery1.SQL.Text:='SELECT * from Termine;';
  ZQuery1.Open;
end;
dann

Delphi-Quellcode:
  ZQuery1.SQL.Text:='SELECT * FROM Termine WHERE Datum LIKE '''+DateToStr(DateTimePicker1.Date)+'''';
  ZQuery1.ExecSQL;
end;
und dann

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ZQuery1.SQL.Text:='SELECT * from Ttermine;';
  ZQuery1.ExecSQL;
end;
Beim Activate werden alle Daten korrekt ausgelesen. Dann klicke ich auch Btn1 oder 2 und dann bleibt die Tabelle nur noch leer.

Ich habe folgende Komponenten auf der Form:
ZConnection1
ZQuery1
ZUpdateSQL1
DataSource1

Bitte um Hilfe!

Igotcha 14. Nov 2004 18:33

Re: ZEOS... Wie führe ich die Befehle "richtig" au
 
Also SELECTS werden mit "Open" geöffnet unicht mit "ExecSQL".

Gruß Igotcha

TheMiller 14. Nov 2004 18:37

Re: ZEOS... Wie führe ich die Befehle "richtig" au
 
Also,

d.h, ich muss immer, wenn ich ein "select" ausführe die query schließen, dann die query eintragen und dann wieder öffnen? Den rest einfach mit execsql ausführen?

Die Muhkuh 14. Nov 2004 18:41

Re: ZEOS... Wie führe ich die Befehle "richtig" au
 
Immer wenn du Daten aus der Datenbank holst nimmst du Open. Wenn du was rein tust, dann nimmst du ExecSQL.

TheMiller 14. Nov 2004 18:53

Re: ZEOS... Wie führe ich die Befehle "richtig" au
 
Cool, danke!

Sharky 15. Nov 2004 07:43

Re: ZEOS... Wie führe ich die Befehle "richtig" au
 
Zitat:

Zitat von Spider
Immer wenn du Daten aus der Datenbank holst nimmst du Open. Wenn du was rein tust, dann nimmst du ExecSQL.

Man sollte es so formulieren:
Alle "Abfragen" die keine Ergbnissmenge liefern (z.B.: UPDATE,INSTER,DELETE) werden mit .ExecSQL ausgeführt.
Alle Abfragen die eine Ergebnissmenge haben (SELECT) werde mit .Open ausgeführt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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