AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Syntax-Fehler in From-Klausel

Syntax-Fehler in From-Klausel

Ein Thema von daredd · begonnen am 10. Mär 2011 · letzter Beitrag vom 10. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2   
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#1

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:11
Was noch wichtig ist, in einigen Zeilen von URA_PREIS stehen keine werte drin.
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:16
Hallo,

Du hättest dir mal durchlesen sollen wie die Update-Syntax funktioniert...
Es müsste ungefähr so gehen: (Keine Garantie dass es fehlerfrei ist!)

SQL-Code:
UPDATE
  warenbestand
SET
  products_price =
     (
      SELECT
         EK_EUR + iif(URA_PREIS is NULL,0,URA_PREIS)
      FROM komsa
      WHERE (komsa.komsanummer = warenbestand.external_id)
     )
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#3

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:18
Hab das jetzt so hier:

Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT K.EK_EUR + K.URA_PREIS AS Price FROM KOMSA As K WHERE K.URA_PREIS IS NOT NULL');
ADOQuery1.SQL.Add('UPDATE Warenbestand As W INNER JOIN KOMSA As K On W.external_id = K.KOMSANUMMER SET W.products_price = Price');
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Clear;
Und bekomme das hier:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt DatenZugriff.exe ist eine Exception der Klasse EOleException mit der Meldung 'Syntaxfehler (fehlender Operator) in Abfrageausdruck 'K.URA_PREIS IS NOT NULL
UPDATE Warenbestand As W INNER JOIN KOMSA As K On W.external_id = K.KOMSANUMMER SET W.products_price = Price'' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------

Darf wahrscheinlich muss ich erst eins ausführen und dann das andere, oder?

@Neutral Genral: Ahso, ich muss bei SQL die Sache verschachteln!?
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.875 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:21
Das war ja auch nicht der Vorschlag!
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

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

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:26
In dem select ist das AS zuviel des Guten. "From KOMSA K" wäre richtig.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:34
In dem select ist das AS zuviel des Guten. "From KOMSA K" wäre richtig.
Nein, ich benutze auch immer das AS. Das ist die ausführliche Schreibweise, die ich persönlich auch deutlich schöner & übersichtlicher finde.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#7

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:37
Also wenn ich das so schreibe:
Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('UPDATE Warenbestand SET products_price = (SELECT EK_EUR + iif(URA_PREIS is not NULL, URA_PREIS, 0) FROM Komsa WHERE (komsa.komsanummer = warenbestand.external_id))');
ADOQuery1.ExecSQL;
dann kommt diese Meldung:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt DatenZugriff.exe ist eine Exception der Klasse EOleException mit der Meldung 'Operation muss eine aktualisierbare Abfrage verwenden' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 14:55
Hallo,

Guck mal. Eventuell ist Punkt 2 (unter "Lösungen") deine Lösung:

http://support.microsoft.com/kb/175168/de

Ansonsten kann ich dir leider nicht weiterhelfen. Access ist mir eh etwas suspekt
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#9

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 15:34
So hab ich das Problem nun gelöst:
Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('UPDATE Warenbestand As W INNER JOIN KOMSA As K On W.external_id = K.KOMSANUMMER SET W.products_price = IIF(K.URA_PREIS is not null, K.URA_PREIS + K.EK_EUR, K.EK_EUR)');
ADOQuery1.ExecSQL;
irgendwie ganz einfach, auf einmal
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Syntax-Fehler in From-Klausel

  Alt 10. Mär 2011, 15:19
Code:
UPDATE Warenbestand
SET products_price = (SELECT EK_EUR + iif(URA_PREIS is not NULL, URA_PREIS, 0) FROM Komsa WHERE (komsa.komsanummer = warenbestand.external_id))
Hierbei wird in alle Datensätze in "products_price" das ergebnis von (select ek_eur....) eingetragen. Und ich glaube, das ist nicht im Sinne des Erfinders.
Wenn ich mich richtig erinnere muß das Ergebnis dieses selects auch genau ein Datensatz sein, und das ist wohl nicht der Fall.

Access ist mir eh etwas suspekt
Dem ist eigentlich nichts hinzuzufügen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:15 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