Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Fehler bei MSSQL (https://www.delphipraxis.net/39830-sql-fehler-bei-mssql.html)

alcaeus 8. Feb 2005 08:13

Datenbank: MSSQL • Zugriff über: .

SQL-Fehler bei MSSQL
 
Hallo allerseits,

ich bekomme bei folgender Abfrage immer den Fehler "Incorrect Syntax near 'A'", und zwar in Zeile 2, egal ob ich das Statement in meinem Programm oder im DB-Explorer aufrufe.

SQL-Code:
SELECT N.TEXT,A.AUTHORIZEDGROUPS FROM PAYMENTTERMS A,NLSUSER N WHERE A.MANDANTID=0
AND ((A.AUTHORIZEDGROUPS IS NULL) OR (0=0) OR (';0;' IN A.AUTHORIZEDGROUPS))
AND N.LANGUAGEID=0
AND N.TOPICID=18
AND N.FIELDID=A.NLSFIELDID
Fragt nicht, was das 0=0 da soll, das ist einfach nur so weil das Statement halt vom Programm so zusammengestellt wird, manchmal steht da auch 1=0 oder so...

Das Statement funktioniert perfekt auf Oracle, perfekt auf SQLBase, und überhaupt nicht auf MSSQL.
Ich finde da einfach keinen Fehler :roll:

Greetz
alcaeus

Sharky 8. Feb 2005 08:20

Re: SQL-Fehler bei MSSQL
 
Hai alcaeus,

hast Du einmal versucht deine ganzen WHERE-Bedingungen in Klammern zu setzen

SQL-Code:
SELECT N.TEXT,A.AUTHORIZEDGROUPS FROM PAYMENTTERMS A,NLSUSER N
WHERE (A.MANDANTID=0)
AND ((A.AUTHORIZEDGROUPS IS NULL) OR (0=0) OR (';0;' IN A.AUTHORIZEDGROUPS))
AND (N.LANGUAGEID=0)
AND (N.TOPICID=18)
AND (N.FIELDID=A.NLSFIELDID)

alcaeus 8. Feb 2005 08:22

Re: SQL-Fehler bei MSSQL
 
Hallo Sharky,

ja, hab ich schon, leider hat das nichts gebracht. Der Fehler kommt immer noch.

Greetz
alcaeus

Leuselator 8. Feb 2005 08:23

Re: SQL-Fehler bei MSSQL
 
Zeile 2 kannst Du auch weglassen, da der Ausdruck aufgrund von "(0=0) immer True zurückliefert...
Gruß

alcaeus 8. Feb 2005 08:24

Re: SQL-Fehler bei MSSQL
 
Zitat:

Zitat von alcaeus
Fragt nicht, was das 0=0 da soll, das ist einfach nur so weil das Statement halt vom Programm so zusammengestellt wird, manchmal steht da auch 1=0 oder so...

Nein, das ist eine Bedingung die vom Programm aus gefüllt wird.

Greetz
alcaeus

Sharky 8. Feb 2005 08:25

Re: SQL-Fehler bei MSSQL
 
Hmmm.... ausser das Du einem Feld den Namen Text gegeben hast fällt mir so nichts auf :gruebel:
Hast Du mal den SQL-Code zum erzeugen der beiden Tabellen?

Leuselator 8. Feb 2005 08:29

Re: SQL-Fehler bei MSSQL
 
Hatte nicht zu ende gelesen (0=0)
Versuch mal die Feld- und Tabellenbezeichnungen in eckige Klammern zu setzen "[" und "]"

alcaeus 8. Feb 2005 08:38

Re: SQL-Fehler bei MSSQL
 
Hallo allerseits,

ich habe herausgefunden dass dieses Statement den Fehler hervorruft:
SQL-Code:
(';0;' IN A.AUTHORIZEDGROUPS)
Geht das bei MSSQL nicht?

Greetz
alcaeus

Leuselator 8. Feb 2005 08:46

Re: SQL-Fehler bei MSSQL
 
versuchs mal mit:
SQL-Code:
(PATINDEX('%;0;%',A.AUTHORIZEDGROUPS) > 0)

alcaeus 8. Feb 2005 14:14

Re: SQL-Fehler bei MSSQL
 
Hallo allerseits,

sorry fuer die Verspaetung, aber die HDSL-Linie im Betrieb war down :wall:
In gibt es bei MSSQL nicht, man muss den Umweg ueber CharIndex nehmen.
Danke fuer eure Hilfe.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Seite 1 von 2  1 2      

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