![]() |
[SQL] Fehler in Anweisung
Hi!
Ich versuche mittels SQL-Anweisung (TDatabase.Execute) eine neue Tabelle zu erstellen. Die Anweisung funktioniert wenn ich sie in Access ausführe, in meinem Programm führt Sie jedoch zu einer Exception. Datenbank: Access 97 Zugriff: BDE
SQL-Code:
Wo ist der Fehler? :gruebel:
'CREATE TABLE `RezOld` ('
+' `RezNr` COUNTER UNIQUE ,' +' `Rezeptname` STRING(50) NOT NULL ,' +' `Parent` INT NOT NULL ,' +' `Anleitung` MEMO NULL ,' +' `Bildpfad` STRING NULL ,' +' `Zutaten` MEMO NULL ,' +' `Links` MEMO NULL ,' +' PRIMARY KEY ( `RezNr` )' +');' |
Re: [SQL] Fehler in Anweisung
Hallo Fellmer Lloyd,
lass doch mal das Zeichen ` weg! |
Re: [SQL] Fehler in Anweisung
Moin!
Auch bei folgendem Code wird der Except Block ausgelöst:
SQL-Code:
'CREATE TABLE RezOld ('
+' RezNr COUNTER UNIQUE ,' +' Rezeptname STRING(50) NOT NULL ,' +' Parent INT NOT NULL ,' +' Anleitung MEMO NULL ,' +' Bildpfad STRING NULL ,' +' Zutaten MEMO NULL ,' +' Links MEMO NULL ,' +' PRIMARY KEY ( RezNr )' +');' |
Re: [SQL] Fehler in Anweisung
Und wie lautet die Exception?
|
Re: [SQL] Fehler in Anweisung
Es wird keine Meldung angezeigt, das Programm springt "still" in den Exception Block.
Das liegt evtl. daran, dass die Anweisung in einem seperaten Thread ausgeführt wird. Anmerkung: Die DB-Verbindung funktioniert. |
Re: [SQL] Fehler in Anweisung
Kannst Du mal etwas Quellcode zeigen?
|
Re: [SQL] Fehler in Anweisung
Jop, kein Problem:
Delphi-Quellcode:
Es folgen noch ein paar weitere SQL Anweisungen, die warscheinlich das gleiche Problem haben.procedure TThreadCopy.Execute; var Database: TDatabase; begin { Thread-Code hier einfügen } Database:= TDatabase.Create(Nil); try //DB Aktualisieren Database.DatabaseName:= 'REZ'; Database.LoginPrompt:= False; Database.DriverName:= 'MSACCESS'; Database.Params.Add('DATABASE NAME='+sInstallPath+'Rez.mdb'); Database.Params.Add('OPEN MODE=READ/WRITE'); Database.Open; //SQL Anweisungen //Temp Table erzeugen Database.Execute('CREATE TABLE RezOld (' +' RezNr COUNTER UNIQUE ,' +' Rezeptname STRING(50) NOT NULL ,' +' Parent INT NOT NULL ,' +' Anleitung MEMO NULL ,' +' Bildpfad STRING NULL ,' +' Zutaten MEMO NULL ,' +' Links MEMO NULL ,' +' PRIMARY KEY ( RezNr )' +');' |
Re: [SQL] Fehler in Anweisung
Hat TDatabase.Execute nicht vier Aufrufparameter, dei bei Nichtnutzung mit nil zu belegen sind?
|
Re: [SQL] Fehler in Anweisung
Ich dachte sie wären optional.
Aber auch mit den Parametern funktioniert die Anweisung nicht.
Delphi-Quellcode:
Ich google mal nach Create Table Anweisungen aus Delphi.
//Temp Table erzeugen
Database.Execute('CREATE TABLE RezOld (' +' RezNr COUNTER UNIQUE ,' +' Rezeptname STRING(50) NOT NULL ,' +' Parent INT NOT NULL ,' +' Anleitung MEMO NULL ,' +' Bildpfad STRING NULL ,' +' Zutaten MEMO NULL ,' +' Links MEMO NULL ,' +' PRIMARY KEY ( RezNr )' +');' , nil, False, nil ); Vieleicht finde ich noch was. |
Re: [SQL] Fehler in Anweisung
Ich habe die selbe Anweisung in einem TQuery ausgeführt...das selbe Ergebnis.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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 by Thomas Breitkreuz