AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)
Thema durchsuchen
Ansicht
Themen-Optionen

mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

Ein Thema von 206HDI · begonnen am 14. Jun 2004 · letzter Beitrag vom 20. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
206HDI

Registriert seit: 12. Jun 2004
10 Beiträge
 
#1

mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 14. Jun 2004, 15:50
Hallo
Ich habe folgende Abfrage per dbexpress ausgeführt:
SELECT * FROM eo_order_pos AS a LEFT JOIN eo_article AS b ON (a.article_number=b.article_number) WHERE a.order_id='1858580'
das Ergebnis ist einwandfrei doch wenn ich die Artikelnummer (a.article_number) ändere ein ApplyUpdates(0) ausführe und wenn ich dann ein Refresh ausführen will kommt eine Fehlermeldung ich müsse vor dem Refresh ein ApplyUpdates ausführen. Wenn ich dann dann CancelUpdates gefolgt von einem Refresh ausführe sind ALLE Artikel in der Tabelle eo_order_pos mit der "alten" article_number auf die "neue" article_number geupdatet. Die Tabelle eo_order_pos hat als Index eine Spalte pos_id und bei der Tabelle eo_article ist der Index die Spalte article_number funktioniert das mit mySQL nicht? Mit Access und *schnell duck* VB hatte es damals funktioniert ???
  Mit Zitat antworten Zitat
206HDI

Registriert seit: 12. Jun 2004
10 Beiträge
 
#2

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 15. Jun 2004, 14:25
Kennt das Problem niemand? Oder funktioniert das bei eucht?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 15. Jun 2004, 14:39
Zitat von 206HDI:
SELECT * FROM eo_order_pos AS a LEFT JOIN eo_article AS b ON (a.article_number=b.article_number) WHERE a.order_id='1858580'
Problem: das Feld article_number taucht 2 Mal im Dataset auf. Du müsstest die Felder genauer angeben:
SELECT a.*, b.artikelbezeichnung, b.[weitereFelder] FROM eo_order_pos AS a LEFT JOIN eo_article AS b ON (a.article_number=b.article_number) WHERE a.order_id='1858580' Ausserdem darfst du nur Felder aus Tabelle eo_order_pos (=a.*) updaten.
Andreas
  Mit Zitat antworten Zitat
206HDI

Registriert seit: 12. Jun 2004
10 Beiträge
 
#4

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 15. Jun 2004, 20:31
Habe die Abfrage wiefolgt geändert:
SELECT a.*, b.article_name FROM eo_order_pos AS a LEFT JOIN eo_article AS b ON (a.pos_article_number=b.article_number) WHERE a.order_id='1858580' aber funktioniert leider immer noch nicht bitte bitte helft mir das ganze Programm hängt an der einen Sache ... und ich weiss nicht mehr weiter habe alles mögliche durchprobiert
  Mit Zitat antworten Zitat
206HDI

Registriert seit: 12. Jun 2004
10 Beiträge
 
#5

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 18. Jun 2004, 13:20
Oder kann es daran liegen das ich "nur" die Personal Version habe?
  Mit Zitat antworten Zitat
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 18. Jun 2004, 13:34
Zitat:
Ausserdem darfst du nur Felder aus Tabelle eo_order_pos (=a.*) updaten.
Genau das ist der Punkt. Nimm ein Dataset und bau dir die genaue updateroutine auf eine tabelle
  Mit Zitat antworten Zitat
206HDI

Registriert seit: 12. Jun 2004
10 Beiträge
 
#7

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 18. Jun 2004, 15:50
THX Also geht das Update der Abfrage nicht selbst wenn ich nur die Felder der Tabelle a ändere ... wie mache ich eine updateroutine am besten?
  Mit Zitat antworten Zitat
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 18. Jun 2004, 16:10
Nein geht nicht, auch wenn du nur die Felder aus "a" änderst. Da es eine verknüpfte Abfrage war, weiß nun das Update nicht wo es ändern soll, es sei denn du machst folgendes:

SQL-Code:
update eo_order_pos
set
  pos_article_number = :pos_article_number
where
  pos_article_number = :OLD_pos_article_number;
Das unter ModifySQL im Dataset-Kompo eintragen.
  Mit Zitat antworten Zitat
206HDI

Registriert seit: 12. Jun 2004
10 Beiträge
 
#9

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 19. Jun 2004, 13:32
Erst mal Danke an alle die sich die Mühe gemacht haben mit zu helfen

Zitat:
Das unter ModifySQL im Dataset-Kompo eintragen.
Also ich habe ein Client-Dataset und ein SQLDataset ich nehme an ich muss es im SQLDataset eintragen doch ich finde ModifySQL nicht. Sollte es einen Menupunkt im Object Inspector sein?
  Mit Zitat antworten Zitat
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: mySQL + Left Join = problem? (Deplhi7 / mySQL 4.1.1a)

  Alt 19. Jun 2004, 21:15
kann auch UpdateSQL oder so ähnlich heißen. Bei IBX-Kompos hies das so. Sorry.
Du kannst das selbe aber auch mit ner UpdateSQL Kompo hinbekommen. Müsste eigentlich überall dabei
sein.

Was für Zugriffkompos nutzt du denn?
  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:00 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