Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme in ADOquery wegen Doppelpunkt? (https://www.delphipraxis.net/147178-probleme-adoquery-wegen-doppelpunkt.html)

Bbommel 3. Feb 2010 08:25

Datenbank: SQL Server • Version: 2005 • Zugriff über: ADO

Probleme in ADOquery wegen Doppelpunkt?
 
Hallo zusammen,

ich habe mal eine, hoffentlich einfache, Frage, bei der ich aber gerade auf dem Schlauch stehe.

Wenn ich einen SQL-Befehl wie
SQL-Code:
GRANT SELECT ON OBJECT::dbo.myTable TO me
direkt in der "Server-Management-Konsole" vom SQL-Server eingebe, klappt damit auch alles wunderbar. Packe ich den selben Befehl allerdings in eine TADQuery und sende ihn dann an den Server, dann bekomme ich als Rückmeldung "Syntax-Fehler in der Nähe von OBJECT".

Nachdem ich mir das zunächst überhaupt nicht erklären konnte, vermute ich jetzt, dass die Query noch verarbeitet wird, bevor sie an den Server geschickt wird und dass dann wegen des Doppelpunktes Parameter erwartet werden, die es aber ja nicht gibt. Oder gibt es eine ganz andere Ursache? Wie würde ich das denn sonst korrekt verpacken?

Klar, in diesem Fall ginge wohl auch
SQL-Code:
GRANT SELECT ON myTable TO me
aber mir geht es eher darum, das Problem grundsätzlich zu lösen, denn es gibt ja noch ein paar andere Stellen, an denen man diese Doppelpunkte brauchen könnte.

Bis denn
Bommel

nahpets 3. Feb 2010 08:41

Re: Probleme in ADOquery wegen Doppelpunkt?
 
Hallo,

in Querys beginnen Parameter mit einem :. Der Doppelpunkt plus die folgenden Zeichenfolge werden als Parameter erkannt und durch entsprechende Werte ersetzt.

ADOQuery hat eine Eigenschaft "ParamCheck". Setze diese mal auf False, dann könnte das funktionieren.

Bbommel 3. Feb 2010 10:52

Re: Probleme in ADOquery wegen Doppelpunkt?
 
Danke für den Tipp, hat geholfen. Diese Eigenschaft der Query hätte ich auch eigentlich selbst finden müssen, verdammt. :wall: Man muss nur noch wissen, dass man ParamCheck auf false muss, bevor man den SQL-Befehl zur Query hinzufügt, dann klappt es.

Bis denn
Bommel


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 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