Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Unterschied zwischen ExecSQL und Open (https://www.delphipraxis.net/26839-unterschied-zwischen-execsql-und-open.html)

Die Muhkuh 30. Jul 2004 08:50


Unterschied zwischen ExecSQL und Open
 
Hi,

bei der TQuery-Kompo kann man ja auf 2 Arten seinen SQL-Code ausführen lassen. Einmal mit TQuery.ExecSQL und TQuery.Open.

Wo ist da der Unterschied?

Jelly 30. Jul 2004 08:54

Re: Unterschied zwischen ExecSQL und Open
 
hi,

ExecSQL wird benutzt, um Stored Procedures auszuführen. Open vorwiegend bei Select-Abfragen... Heisst aber jetzt nicht, dass SP keine Ergebnismenge liefern können.

SP machen natürlich nur Sinn wenn das DBS sie unterstützt.

Gruß,
Tom

bttb930 30. Jul 2004 08:56

Re: Unterschied zwischen ExecSQL und Open
 
Open wird benutzt um eine Datenmenge zurück zu bekommen. Nach Open kann man mit First und Next usw die Rückgabedaten durchlaufen und sollte sie am Ende mit Close schliessen.

ExexSQL wird benutzt um Befehle an die DB zu senden, die keine Daten zurück liefern (DELETE..., INSERT..., UPDATE...). Nach ExecSQL muß man kein Close aufrufen und bekommt keine Datenmenge zurück, die man durchlaufen könnte.

Die Muhkuh 30. Jul 2004 08:58

Re: Unterschied zwischen ExecSQL und Open
 
Hi,

thx. Ich dachte immer da gibts keinen :oops: . Naja man lernt nie aus.

bttb930 30. Jul 2004 08:58

Re: Unterschied zwischen ExecSQL und Open
 
@Jelly: Nein, für Stored Procedures gibt es eigene Komponenten (TADOStoredProc). ExecSQL ist für normale SQL-Befehle, wie oben genannt, halt ohne Ergebnismenge.

Jelly 30. Jul 2004 09:02

Re: Unterschied zwischen ExecSQL und Open
 
@bttb930: Stimmt eigentlich, war wohl zu schnell. Aber prinzipiell kannst du aber auch SP über ein query.ExecSQL ausführen, oder?

Tom

bttb930 30. Jul 2004 09:12

Re: Unterschied zwischen ExecSQL und Open
 
ja, prinzipiell aber auch mit einem Open. Das liegt daran, dass Du Stored Procedures in SQL-Befehlen ausführen kannst und Delphi ist es egal wie der SQL-Befehl aussieht solange die Datenbank ihn versteht. Wenn die Frage aber lautet, was der Unterschied zw. ExecSQL und Open ist, dann gibt es bzgl. Stored Procs keinen und für Stored Procs sollte man schon die entsprechenden Komponenten verwenden. Vor allem wenn die Stored Proc Eingabe- und/oder Ausgabeparameter verwendet.


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