AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi zeos und mehere sql befehle auf einen rutsch
Thema durchsuchen
Ansicht
Themen-Optionen

zeos und mehere sql befehle auf einen rutsch

Ein Thema von MadMason · begonnen am 26. Aug 2004 · letzter Beitrag vom 6. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
MadMason

Registriert seit: 9. Nov 2002
Ort: Altenburg
126 Beiträge
 
Delphi 2005 Architect
 
#1

zeos und mehere sql befehle auf einen rutsch

  Alt 26. Aug 2004, 18:30
ich hab eine zeos sqlquery komponente. in query.sql lade ich eine datei mit mehreren sql befeheln. wenn ich die aber ausführen will kommt es zu einer fehlermeldung das mehr als ein sqlbefehl in der query steht. wenn ich die sql befehle alle einzeln hineinschreibe und ausführe klappt es, aber das ja ziemlich umständlich

gibts ne möglichkeit doch mehrer befehle auf einen rutsch zu erledigen?
Einstein ist tot
Newton ist tot
und mir ist auch schon ganz schlecht
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 26. Aug 2004, 19:12
Zitat von MadMason:
gibts ne möglichkeit doch mehrer befehle auf einen rutsch zu erledigen?
Ich denke nicht, dass die Zeos da eine Art Script-Kompo dabei haben.
Aber wie auch immer, es ist fast nie "auf einem Rutsch". Es läuft (fast) immer auf einzeln abgesetzte Statements hinaus. (Das fast gilt für Bulk DML, das aber nur die wenigsten DBs intern wirklich als ein Statement behandeln)
Deshalb kannst du sie genausogut selbst auftrennen und nacheinander absetzen.
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
238 Beiträge
 
Delphi 12 Athens
 
#3

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 26. Aug 2004, 22:55
Es gibt aber den Zeos "ZSQLProcessor"! Hab's noch nicht selbst probiert, aber es müsste darüber gehen.
Bislang hab ich (Zeos+FB1.5 embedded) solche SQL-Scripts über eine Datei eingelesen und dann nach dem Motto ...while not eof(f) do readln(f, sql)... zeilenweise, die SQL-Befehle waren auch zeilenweise, abgearbeitet.
Hat bislang den Zweck einwandfrei erfüllt und war IMHO auch nicht besonders umständlich.
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#4

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 13:44
gibt es mittlerweile eine Lösung dafür
mit ZSQLProcessor beokomme ich MadMason Fehler-Dialog - verwende ZEOSLIB 6.1.5-stable
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 13:58
Mischerr hat Dir die Lösung gesagt.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 14:10
Welche Datenbank? Eventuell habt ihr keine/falsche Delimiter?
Wie sieht die Script-Datei aus?

Mit TZSQLProcessor funktioniert das eigentlich...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Domo Sokrat
Domo Sokrat

Registriert seit: 14. Mai 2003
Ort: Wehrheim / Ts.
235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 14:16
Hi MadMason,

das Ganze müsste auch so funktionieren (Auszug aus meinem ZEOS-Tut):

Zitat:
Mehrere Statements in den Sql-Properties von TZQuery und TZUpdateSQL

Die Komponenten TZQuery und TZUpdateSql unterstützen intern die Abarbeitung mehrerer SQL-Statements. So ist es zum Beispiel möglich im SQL-Property mehrere Befehle (auch mit Parametern) für die Abarbeitung zu hinterlegen. Diese müssen aber durch Semikolon getrennt sein. Hier ein Beispiel:

Delphi-Quellcode:
   :
   With Query do Begin
      Sql.Clear;
      Sql.Add('DELETE FROM table1;');
      Sql.Add('INSERT INTO table1 VALUES (:Val1, :Val2);');
      Sql.Add('INSERT INTO table2 VALUES (:Val3, :Val2);');
      Sql.Add('UPDATE table3 SET field1 = :Val4;');
      Params.ParamByName('Val1').AsInteger := 123;
      :
      ExecSql;
   End;
   :
Alle Statements werden der Reihe nach abgearbeitet. Es ist ebenso möglich, mehrere Statements auf diese Weise in TZUpdateSql-Objekten zusammenzufassen, um so z. B. mehrere Tabellen zu aktualisieren.
Michael Seeger
Vergesst nicht: Es wird überall nur mit Wasser gekocht
ZEOSLib - Admin-Team
ZeosLib-Forum
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#8

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 15:13
oh, ich habe vergessen zu sagen, dass ich
unter zeoslib\examples das Script msqsql.sql verwendet habe ...
und dann bekomme ich diesen Fehler
verwende MS SQL Server

Delphi-Quellcode:
   ZSQLProcessor1.LoadFromFile ('C:\Delphi\ZeosLib\examples\msqsql.sql');
   ZSQLProcessor1.Execute;
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#9

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 15:58
Moin, moin,

habe da leider kein Beispiel dafür, aber ich meine, das ExecSql die interne
Script-Komponente übergeht und dass daher der Mehrfach-SQL-Befehl von Domo Sokra
funktioniert. Ein active auf true würde aber die Fehlermeldung geben.

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#10

Re: zeos und mehere sql befehle auf einen rutsch

  Alt 6. Dez 2004, 16:04
das würde ja dann so aussehen
Delphi-Quellcode:
   ZQuery.SQL.Clear;
   ZQuery.SQL.LoadFromFile ('msqsql.sql');
   
   ZQuery.ExecSQL;
und dies führt auch zu einen Fehler.

wie gesagt, ich möchte das komplette Script auf einmal ausführen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 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