AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Automatiach erstellte Syntax
Thema durchsuchen
Ansicht
Themen-Optionen

Automatiach erstellte Syntax

Ein Thema von Delbor · begonnen am 5. Sep 2017 · letzter Beitrag vom 9. Sep 2017
 
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Automatiach erstellte Syntax

  Alt 8. Sep 2017, 13:37
Hi zusammen

Der Abruch erfolgt gleich im erstem Statementt: (Hier das 2.)
Delphi-Quellcode:
function TDMLSQLite.Createkategorien_tabelle:String;
 var SQLString: String;
begin
  SQLString := 'CREATE TABLE "ContentMasterData"."kategorien_tabelle"('+
                            '"Kath_ID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Kath_ID">=0),'+
                            '"Kategorie" VARCHAR(120) NOT NULL);';
  Result := SQLString;
end;

function TDMLSQLite.Createbilddescribetabelle :String;
 var SQLString: String;
begin
  SQLString := 'CREATE TABLE ContentMasterData.bilddescribetabelle('+
                                '"BilddesribeID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("BilddesribeID">=0),'+
                                '"bildtabelle_idBild" INTEGER NOT NULL CHECK("bildtabelle_idBild">=0),'+
                                '"bildkatID" INTEGER NOT NULL CHECK("bildkatID">=0),'+
                                '"bildname" VARCHAR(45),"Dateipfad" VARCHAR(250),"bildbeschreibung" VARCHAR(800),'+
                                '"bildlegende" VARCHAR(300),"Author" VARCHAR(250),'+
                                'CONSTRAINT "fk_bilddescribetabelle_bildtabelle1" '+
                                  'FOREIGN KEY("bildtabelle_idBild")'+
                                  'REFERENCES "bildtabelle"("idBild"));'+
  'CREATE INDEX "ContentMasterData"."bilddescribetabelle.fk_bilddescribetabelle_bildtabelle1_idx" ON"bilddescribetabelle" ("bildtabelle_idBild");';
  Result := SQLString;
end;
Wie man hier sieht, habe ich im unteren Statement in der 1. Zeile die doppelten Anführungszeichen entfernt. Allerdings erst vor einemm zweiten Durchlauf. Die Fehlermeldung lautete zwar gleich, aber der Datenbankname endete diesmal mit einem Hochkomma.
Zitat:
---------------------------
Im Projekt SQLiteTestProject.exe ist eine Exception der Klasse ESQLiteNativeException mit der Meldung '[FireDAC][Phys][SQLite] ERROR: unknown database ContentMasterData' aufgetreten.
---------------------------
Dann hab ich noch einen draufgesetzt und die Datenbankbezeichnung weggelassen. Das Statement jetzt:
Delphi-Quellcode:
  SQLString := 'CREATE TABLE "bilddescribetabelle"('+
                                '"BilddesribeID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("BilddesribeID">=0),'+
                                '"bildtabelle_idBild" INTEGER NOT NULL CHECK("bildtabelle_idBild">=0),'+
                                '"bildkatID" INTEGER NOT NULL CHECK("bildkatID">=0),'+
                                '"bildname" VARCHAR(45),"Dateipfad" VARCHAR(250),"bildbeschreibung" VARCHAR(800),'+
                                '"bildlegende" VARCHAR(300),"Author" VARCHAR(250),'+
                                'CONSTRAINT "fk_bilddescribetabelle_bildtabelle1" '+
                                  'FOREIGN KEY("bildtabelle_idBild")'+
                                  'REFERENCES "bildtabelle"("idBild"));'+
  'CREATE INDEX "ContentMasterData"."bilddescribetabelle.fk_bilddescribetabelle_bildtabelle1_idx" ON"bilddescribetabelle" ("bildtabelle_idBild");';
  Result := SQLString;
end;
Und die Fehlermeldung, als der Index erzeug werden sollte:
Zitat:
---------------------------
Im Projekt SQLiteTestProject.exe ist eine Exception der Klasse ESQLiteNativeException mit der Meldung '[FireDAC][Phys][SQLite] ERROR: table "bilddescribetabelle" already exists' aufgetreten.
---------------------------
Im Anhang zeigt ein Jpeg die im SQLExpert geöffnete Datenbank....

Ja, ich denk, dann werd' ich mal...


Gruss
Delbor
Angehängte Grafiken
Dateityp: jpg Anzeige SQLiteExpert 2.JPG (26,6 KB, 9x aufgerufen)
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
 


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 16:25 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-2025 by Thomas Breitkreuz