Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [beantwortet] von SQL reservierte Strings mit BDE nutzen (https://www.delphipraxis.net/24446-%5Bbeantwortet%5D-von-sql-reservierte-strings-mit-bde-nutzen.html)

Martoeng 21. Jun 2004 09:10


[beantwortet] von SQL reservierte Strings mit BDE nutzen
 
Hi Leute,

schickes Forum habt ihr hier. Wer jetzt wohl mal öfter vorbeischauen ;)

Und nun kommt gleich meine Einstandsfrage:

Ich will Daten in eine dBase-3-DB mittels BDE schreiben.

Sieht dann ungefähr so aus:

Delphi-Quellcode:
Query1.sql.text := 'INSERT INTO tabelle (spalte1, spalte2, position)';
Query1.sql.add(' VALUES (1, 1, 1)');
Query1.execsql;

// ^Nur ein Beispiel...
Und dann bekomm ich ne Fehlermeldung:

Ungültiges Schlüsselwort im Symbolstring 'position)' usw. usw.

Das kann ich nur darauf zurückführen, dass position ein von SQL reserviertes Wort ist und der BDE mich da nicht ranlässt ;-)

Jetzt gibt es ja bei MS Access SQL ähnliche Probleme, da kann man diese Wörter aber mit [ ] nutzen.

Gibt es eine solche Möglichkeit auch im BDE?


Thx for help


MfG

Martoeng

Albi 21. Jun 2004 09:22

Re: von SQL reservierte Strings mit BDE nutzen
 
Kann es sein, das es sich bei Position um ein Reserviertes Schlüsselwort handelt? Versuch für Position einen anderen Spaltennamen zu wählen.

Sharky 21. Jun 2004 09:26

Re: von SQL reservierte Strings mit BDE nutzen
 
Hai Albi,

Zitat:

Zitat von Martoeng
...Das kann ich nur darauf zurückführen, dass position ein von SQL reserviertes Wort ist und der BDE mich da nicht ranlässt ;-)....

@Martoeng:

Ersteinmal: "Herzlich Willkommen in der Delphi-PRAXIS"

Wenn ich mich richtig entsinne ist es so das Du Schlüsselwörter in [] einfügen kannst. Was passiert denn wenn Du die Spaltennamen in " " einschließt?

Martoeng 21. Jun 2004 09:47

Re: von SQL reservierte Strings mit BDE nutzen
 
Hi und danke für die freundliche Aufnahme :stupid:

@albi

leider is das umbenennen der Spalte nicht so einfach, da das Programm auf einer bereits bestehenden Datenbank basiert, die auch von anderen, uralten (sagt euch Clipper 5.0 was :wall: )
Programmen genutzt wird.
Und das Umbenennen dieser Spalte würde das Umschreiben von vielen Programmen mit sich führen, also nich so toll.


@Sharky

Wenn ich "position in [ ] setze kommt die gleiche Fehlermeldung (nur halt mit "Symbolstring: [position]").

Setze ich es in " " kommt gleiche Fehlermeldung mit dem "Symbolstring: ,"


Es is zum verzweifeln :wall: !!


Martoeng

Sharky 21. Jun 2004 09:55

Re: von SQL reservierte Strings mit BDE nutzen
 
Zitat:

Zitat von Martoeng
Hi und danke für die freundliche Aufnahme ...

So sind wir halt :stupid:

:shock: Clipper 5.0? Lange ist es her das ich dieses Wort zum letzen mal gelesen habe ;-)

Aber ich fürchte es wird keine Lösung geben. Die BDE oder ADO hat dann wohl ein Problem wenn ein Spaltenname ein Reserviertes Wort ist. Eventuell kennt ja einer eine Lösung. Mir selber fällt jetzt nichts ein. Sorry.

Martoeng 21. Jun 2004 10:03

Re: von SQL reservierte Strings mit BDE nutzen
 
Ach Shit....
Das gefällt mir gar nicht...

:cry: :twisted: :wall:


Aber trotzdem danke für Hilfe.

MfG

Martoeng

Smokey 21. Jun 2004 10:04

Re: von SQL reservierte Strings mit BDE nutzen
 
Also eigentlich müsste es gehen mit den Hochkommas.

Siehe auch Hier

Da geht es mit
SQL-Code:
SELECT "ALLGROUPS"."INDEX" FROM ALLGROUPS
also versuchs nochmal mit Tabellenname davor (auch in Hochkomma)

r_kerber 21. Jun 2004 10:13

Re: von SQL reservierte Strings mit BDE nutzen
 
Hallo Martoeng,

versuche es doch auch mal mit ADS TDataset Descendant. Damit sollten IMHO sogar die Indices von Clipper unterstützt werden (etwas, das die BDE nicht kann)!

Gollum 21. Jun 2004 10:44

Re: von SQL reservierte Strings mit BDE nutzen
 
Hallo,

Zitat:

Zitat von Local SQL-Hilfe
Es folgt eine alphabetische Liste der von Local SQL reservierten Wörter. Vermeiden Sie die Verwendung dieser reservierten Wörter für die Namen von Metadatenobjekten (Tabellen, Spalten und Indizes). Der Fehler "Ungültige Verwendung eines Schlüsselworts" tritt auf, wenn reservierte Wörter als Namen für Metadatenobjekte verwendet werden. Wenn es nötig wird, daß ein Metadatenobjekt ein reserviertes Wort als Namen haben muß, so verhindern Sie die Fehlermeldung, indem Sie den Namen zwischen Anführungszeichen setzen und der Referenz den Tabellennamen voranstellen.

...
PAGES
PARAMETER
PASSWORDPLAN
POSITION
POST_EVENT
PRECISION
PROCEDURE
PROTECTED
...


Martoeng 21. Jun 2004 11:02

Re: von SQL reservierte Strings mit BDE nutzen
 
Hi Gollum,

wunderbar wunderbar......

Ich danke dir, hast mir sehr geholfen!! :lol:

Bin zwar neu, erlaub mir aber trotzdem mal: :dp:
(in anderen Delphi-Foren konnte mir bis jetzt keiner helfen)


Endlich das Problem behoben.

Thx an alle


Martoeng


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