AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL] Fehler in Anweisung
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] Fehler in Anweisung

Ein Thema von Fellmer Lloyd · begonnen am 16. Feb 2004 · letzter Beitrag vom 16. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#1

[SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 08:40
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:
'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` )'
+');'
Wo ist der Fehler?
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 08:44
Hallo Fellmer Lloyd,

lass doch mal das Zeichen ` weg!
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#3

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:03
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 )
+');'
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:05
Und wie lautet die Exception?
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#5

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:08
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.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:13
Kannst Du mal etwas Quellcode zeigen?
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#7

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:20
Jop, kein Problem:

Delphi-Quellcode:
  
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 )'
                      +');'
Es folgen noch ein paar weitere SQL Anweisungen, die warscheinlich das gleiche Problem haben.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#8

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:30
Hat TDatabase.Execute nicht vier Aufrufparameter, dei bei Nichtnutzung mit nil zu belegen sind?
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#9

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 09:37
Ich dachte sie wären optional.

Aber auch mit den Parametern funktioniert die Anweisung nicht.
Delphi-Quellcode:
  //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
                    );
Ich google mal nach Create Table Anweisungen aus Delphi.
Vieleicht finde ich noch was.
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#10

Re: [SQL] Fehler in Anweisung

  Alt 16. Feb 2004, 13:29
Ich habe die selbe Anweisung in einem TQuery ausgeführt...das selbe Ergebnis.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:43 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