Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TZUpdatesQL und Parameter (https://www.delphipraxis.net/171457-tzupdatesql-und-parameter.html)

Privateer3000 7. Nov 2012 12:31

Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOSlib

TZUpdatesQL und Parameter
 
Das ist Crosspost zu www.lazarusforum.de
(leider noch unbeantwortet)

Huhu
da ich zum erstenmal mit ZEOS arbeite
kommen einige neuen Sachen dazu.
So zB die Updatesql.
Ich habe nur wenig Doku dazu gefunden.
Wie gebe ich die Werte der Params an?
Wie laüft das Zusammenspiel zwischen der TZQuery
und der TZUpdatesQL?
Wird die UpdateSQL automatisch ausgeführt?
Könnte ich einen Beispielcode bekommen wie ohne dem OI
die Werte vergeben werden?

Grüße

Privateer3000 7. Nov 2012 20:42

AW: TZUpdatesQL und Parameter
 
Endlich habe ich herausbekommen wie
die Updatsql angewendet wird.
Wen's interessiert:
Delphi-Quellcode:
Query.Edit;
  sqltext1:=TStringList.Create;
  sqltext1.Add('UPDATE SYSTEM SET MARK='+IntToStr(1)+' WHERE KESNR='+IntToStr(comty));
  updatesql.ModifySQL:=sqltext1;
  Query.Post;

DanielJ 16. Nov 2012 09:26

AW: TZUpdatesQL und Parameter
 
Hallo,

ich hab zwar nur Erfahrung mit UIB und IBX aber müsste das nicht eigendlich heißen:

Delphi-Quellcode:
  Query.Edit;
  updatesql.ModifySQL.Clear;
  updatesql.ModifySQL.Add('UPDATE SYSTEM SET MARK='+IntToStr(1)+' WHERE KESNR='+IntToStr(comty));
  Query.Post;

EgonHugeist 18. Nov 2012 21:48

AW: TZUpdatesQL und Parameter
 
@DanielJ

Yap!

@Privateer3000

mach's nicht so kompliziert. Du baust da nur ein Statement zusammen, welches von den TZDataSet-Componenten als Update-Query benutzt wird.

updatesql.ModifySQL.Add('UPDATE SYSTEM SET MARK=:MARK WHERE KESNR=:KESNR'); wäre korrekt.

dann kannst du kompliziertere Queries gans einfach über TZTable.ParamByName('MARK').AsInteger := intToStr(1) verwenden.

Mach einen Doppel-Click auf die Komponente, ein Editor öffnet sich, welcher dir Hilft die Felder und Parameter zuzuweisen. Somit können alle anderen DB-Controls ebenfals ihre daten an die Parameter geben und komplexe Queries ausgeführt werden, welche von Zeos nicht mehr sicher (joins zum Bsp) mit ausreiched MetaInformation versorgt werden können (e.g. AutoInc, Default-Values etc).

Die Komponente ist eigentlich nur als Hilfe für TZTable, TZQuery, TZReadOnlyQuery gedacht. Außerdem kannst du da eben Default values und die ParameterTypen festlegen.

Gruß Michael


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