Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL ausführen mit ExecSQL oder Open?? (https://www.delphipraxis.net/10378-sql-ausfuehren-mit-execsql-oder-open.html)

Nalincah 17. Okt 2003 11:22


SQL ausführen mit ExecSQL oder Open??
 
Ich weiß das man select-Statements mit "open" und den rest mit "ExecSQL" aufrufen muss
Was mach ich aber wenn ich zum Beispiel folgenden code hab:

Code:
select * from Tabelle1
create Table (
  feld1 varchar(10),
)

?????

r_kerber 17. Okt 2003 11:51

Re: SQL ausführen mit ExecSQL oder Open??
 
Und was soll der Befehl machen?

Tanadirian 17. Okt 2003 12:01

Re: SQL ausführen mit ExecSQL oder Open??
 
Ich denke das du die beiden Abfragen einfach getrennt ausführen solltest und nicht zusammen, dann müstest du diese Frage nicht stellen. :?

Nalincah 17. Okt 2003 12:37

Re: SQL ausführen mit ExecSQL oder Open??
 
ich hab in meinem Progamm ein Memo und da kann der user alle möglichen SQL-Statements rein schreiben und alle gleichzeitig posten

r_kerber 17. Okt 2003 12:41

Re: SQL ausführen mit ExecSQL oder Open??
 
Sind das zwei selbständige Befehle? Dann sollte es IMHO so heißen:
SQL-Code:
select * from Tabelle1;
create Table ( 
  feld1 varchar(10),
);
Ich bin mir aber nicht sicher, ob Du in einer Query mehrere Anweisungen ausführen kannst!

Leuselator 17. Okt 2003 12:42

Re: SQL ausführen mit ExecSQL oder Open??
 
Dann bleibt Dir nix anneres überig als die Statements in Deinem Memo zu parsen und getrennt an die DB zu senden - wird 'ne Menge Gehirnschmalz draufgehen für...

Tanadirian 17. Okt 2003 12:57

Re: SQL ausführen mit ExecSQL oder Open??
 
Wenn der User einfach am Ende eines Statements ein eindeutiges Zeichen verwendet, gehts einfacher mit dem trennen.

Leuselator 17. Okt 2003 13:21

Re: SQL ausführen mit ExecSQL oder Open??
 
wenn Du Deinen Usern angewöhnen kannst, die einzelnen SQL-Statements mit einer Zeile zu trennen, die nur die Zeichen "GO" enthält, also:
SQL-Code:
Select * from Tabelle
GO
craete table Tabelle2
GO
update Tabelle1
set Feldname = Wert
where Bedingung
GO
dann kannst Du mein Proggi aus diesem Thread als Ansatz nehmen. Das Dingen parst nach "GO"-Zeilen und schickt die Statements einzeln an die DB.
Viel Erfolg!

Nalincah 17. Okt 2003 13:32

Re: SQL ausführen mit ExecSQL oder Open??
 
Danke...Ich werd die lösungen die ihr hier gepostet hab, mal ausprobieren.
Das Ergebnis könnt, werd ich später uploaden
Ne Vorabversion gibt es schon hier: DB-Utilitie
Absoluter VorAlphaStatus...Ein paar Sachen klappen schon, aber bei weitem nicht alles. Ein paar Fehler aus der Version hab ich schon rausgebastelt


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