AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zeos - Update auf mehrere Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeos - Update auf mehrere Tabellen

Ein Thema von BerTa · begonnen am 20. Jun 2005 · letzter Beitrag vom 22. Jun 2005
Antwort Antwort
BerTa

Registriert seit: 31. Aug 2004
Ort: Dinklage
78 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeos - Update auf mehrere Tabellen

  Alt 20. Jun 2005, 16:23
Datenbank: Mysql • Version: 4.1 • Zugriff über: MyDac / Zeos
Hallo,

ich habe testhalber ein kleines Projekt von MyDAC auf Zeos umgesetzt. Jetzt bekomme ich eine Exception mit der Meldung: "Can not update a complex query with more than one table". - Geht ein Update mit Zeos nicht über mehrere Tabellen?

Gruss, BerTa
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

Re: Zeos - Update auf mehrere Tabellen

  Alt 20. Jun 2005, 16:35
Hi BerTa,

nein, das geht zumindest nicht so, wie du es gemacht hast,
in dem Fall, musst du selber dafür sorgen, dass die richtigen Sätze upgedatet werden.
Entweder mit TZSQLUpdate und/oder mit ZQuery deine Änderungen "manuell" in die Datenbank eintragen.

Wenn du die neueste Version aus dem CVS benutzt, dann kannst du auch TSQLProcessor mit Params benutzen.

MfG
Stevie
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Zeos - Update auf mehrere Tabellen

  Alt 20. Jun 2005, 16:51
Zitat von BerTa:
ich habe testhalber ein kleines Projekt von MyDAC auf Zeos umgesetzt.
Also das macht mich nachdenklich. Darf ich fragen, was dich zu dieser Umsetzung geführt hat. Meines Achtens ist MyDAC um Welten besser als die Zeos Komponenten, wenns um die Anbindung an eine MySQL Datenbank geht, also warum willst du von MyDAC weg?
  Mit Zitat antworten Zitat
BerTa

Registriert seit: 31. Aug 2004
Ort: Dinklage
78 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zeos - Update auf mehrere Tabellen

  Alt 22. Jun 2005, 13:34
Hi,

@jelli: die Anwendung soll für mehrere Datenbanken offen sein, z.B. für PostGreSQL, und das ohne ODBC-Bremse

@stevie: ich habe TZSQLUpdate ausprobiert, das Update funktioniert bisher nur für Tabellen, die im FROM-Teil des Selects stehen; Tabellen, die mit LEFT JOIN angesprochen sind, werden nicht ubgedatet.

Hier der Select aus der Zeos-Query:

SELECT
tour.*,
fahrzeug.anzahl_touren,
fahrzeug.aktiv,
fahrzeug.max_zuladung,
auftrag_kopf.datum_lieferschein,
auftrag_kopf.lieferschein_nr,
auftrag_kopf.spediteur,
auftrag_kopf.baustelle,
auftrag_kopf.preis_kz,
auftrag_kopf.baustellen_km,
auftrag_kopf.kunden_nr,
auftrag_kopf.istatus,
auftrag_kopf.pal_1_hin,
auftrag_kopf.pal_2_hin,
auftrag_kopf.pal_1_rueck,
auftrag_kopf.pal_2_rueck,
spediteur.listbez as spedbez,
spediteur.nr as spednr,
spediteur.umlagerungsrabatt,
spediteur.kreditor,
werk.nr AS werknr,
werk.listbez as werkbez,
werk.kurzname,
werk.lieferscheinkennung,
werk.kundennr_werk_werk,
baustelle.plz,
baustelle.bez1,
baustelle.bez2,
baustelle.bez3,
baustelle.hinweis_1,
anschriften_b.name1,
anschriften_b.name2,
anschriften_b.name3,
anschriften_b.strasse,
anschriften_b.plz as anschriften_plz,
anschriften_b.land,
anschriften_b.ort
FROM
tour,
auftrag_kopf
LEFT OUTER JOIN fahrzeug ON
fahrzeug.mandant = tour.mandant AND
fahrzeug.kfz_nr = tour.kfz_nr
LEFT OUTER JOIN spediteur ON
spediteur.mandant = auftrag_kopf.mandant AND
spediteur.nr = auftrag_kopf.spediteur
LEFT OUTER JOIN werk ON
werk.mandant = auftrag_kopf.mandant AND
werk.nr = auftrag_kopf.werk_nr
LEFT JOIN baustelle ON
baustelle.mandant = auftrag_kopf.mandant AND
baustelle.nr = auftrag_kopf.baustelle
LEFT JOIN anschriften_b ON
anschriften_b.mandant = auftrag_kopf.mandant AND
anschriften_b.nr = auftrag_kopf.anschrift_kunde
WHERE
auftrag_kopf.mandant = tour.mandant AND
auftrag_kopf.nr = tour.vorgang AND
auftrag_kopf.beleg_nr = tour.beleg AND
auftrag_kopf.werk_nr = :werk_nr


Bitte um Hilfe, BerTa
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Zeos - Update auf mehrere Tabellen

  Alt 22. Jun 2005, 13:40
Zitat von BerTa:
@jelli: die Anwendung soll für mehrere Datenbanken offen sein, z.B. für PostGreSQL, und das ohne ODBC-Bremse
Das kann man auch realisieren ohne ZEOS mit Hilfe des Bridge-Pattern und Aufsetzen auf der TDataset-Schnittstelle.
Und für jede Datenbank nimmt man die optimalsten Komponenten (z.B. bei MS SQL-Server direkt die ADOExpress-Komponenten).
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 - Update auf mehrere Tabellen

  Alt 22. Jun 2005, 13:43
Zitat von BerTa:
@stevie: ich habe TZSQLUpdate ausprobiert, das Update funktioniert bisher nur für Tabellen, die im FROM-Teil des Selects stehen; Tabellen, die mit LEFT JOIN angesprochen sind, werden nicht ubgedatet.
Wenn du deine SQL-Statements im TZSQLUpdate entsprechend änderst, dann werden auch die dementsprechenden Tabellen geändert.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
BerTa

Registriert seit: 31. Aug 2004
Ort: Dinklage
78 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Zeos - Update auf mehrere Tabellen

  Alt 22. Jun 2005, 14:09
Hi,

@Bernhard Geyer: Der Tipp mit den "Bridge Pattern" hört sich interessant an, leider habe ich keine Ahnung, wie da was realisieren soll. Gibt´s da irgendwo Beispiele?

Gruss, BerTa
  Mit Zitat antworten Zitat
BerTa

Registriert seit: 31. Aug 2004
Ort: Dinklage
78 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Zeos - Update auf mehrere Tabellen

  Alt 22. Jun 2005, 17:08
Hi,

was haltet ihr von AnyDac?

Gruss, Bernd
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Zeos - Update auf mehrere Tabellen

  Alt 22. Jun 2005, 17:10
Zitat von BerTa:
@Bernhard Geyer: Der Tipp mit den "Bridge Pattern" hört sich interessant an, leider habe ich keine Ahnung, wie da was realisieren soll. Gibt´s da irgendwo Beispiele?
Bridge Pattern
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:40 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