![]() |
AW: Automatiach erstellte Syntax
Hi DeddyH
Zitat:
Zitat:
Zitat:
Delbor |
AW: Automatiach erstellte Syntax
Wir reden doch hier von DDL (Data Definition Language) und nicht von DML (Data Manipulation Language), oder täusche ich mich? Das bedeutet, dass alle Tabellen erst einmal erstellt werden, bevor die erste davon befüllt wird. Das bedeutet aber auch, dass man, wenn man die Fremdschlüssel sofort definiert, die Erstellungsreihenfolge der Tabellen beachten muss, da das sonst in die Hose geht.
|
AW: Automatiach erstellte Syntax
Hi DeddyH
Ja, wir reden erstmal von DDL: Zitat:
Das DB-Modell entstand seinerzeit mit im wesentlichen deiner und ccLouds Hilfe im Delphi-Treff. Leider hab ich die Beiträge nicht mehr gefunden. Seinerzeit haben wir, auch mit Rc2c, viel über Normalisierung und u.a. auch Dateninkonsistenz diskutiert. Gruss Delbor |
AW: Automatiach erstellte Syntax
Liste der Anhänge anzeigen (Anzahl: 3)
Hi zusammen
Soeben hab ich mal versucht, die Datenbank zu erstellen. Als erstes hab ich mal das von MySQL-Workbench erstellten SQLite-CreateScript in Funktionen pro erstellter Tabelle aufgeteilt. Nachfolgend die Prozedure, die die DB erstellen sollte:
Delphi-Quellcode:
Und das ist die Fehlermeldung, die mir Delphi anzeigt:
procedure TDMLSQLite.ContentmasterDBCreate;
var SQLString: String; begin try DMLSQLite.FDSQLiteConnection.Connected := false; DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite';// Geänderte Zeile(M statt m) DMLSQLite.FDSQLiteConnection.Params.Values['FailIfMissing']:='False'; DMLSQLite.FDSQLiteConnection.Params.Values['PRAGMA foreign_keys']:='ON'; DMLSQLite.FDSQLiteConnection.Connected := true; SQLString := ''; SQLString := Createbilddescribetabelle; SQLString := SQLString + Createbilddescribetabelle_has_HtmlTabell; SQLString := SQLString + Createbildtabelle; SQLString := SQLString + CreateCSSTabelle; SQLString := SQLString + Creategalerietabelle; SQLString := SQLString + CreateHTMLTable; SQLString := SQLString + CreateJavascriptTable; SQLString := SQLString + Createkategorien_tabelle; SQLString := SQLString + Createkategorien_tabelle_has_bildDescribeTabelle; SQLString := SQLString + CreateMenueTabelle; SQLString := SQLString + CreateSubMenue2Table; SQLString := SQLString + CreateSubmenuetabelle; DMLSQLite.FDSQLiteConnection.ExecSQL(SQLString); except on E: EDatabaseError do ShowMessage('Exception raised with message' + E.Message); end; end; Zitat:
Delphi-Quellcode:
DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite';
in
Delphi-Quellcode:
DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='M:\SQLite-DB Corner\ContentMasterData\ContentMasterData.sqlite';
In allen Funktionen, die dem SQLString zugewiesen werden, ist das Teilwort 'Master' gross geschrieben, also müsste dies auch im DB-Namen der von SQLite erzeugten DB der Fall sein. Trotzdem ändert sich die Fehlermeldung nicht... Zitat:
Was habe ich falsch gemacht? Gruss Delbor |
AW: Automatiach erstellte Syntax
Sollte das statt
DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite' nicht besser heißen: DMLSQLite.FDSQLiteConnection.Params.Add('Database= M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite' ); |
AW: Automatiach erstellte Syntax
Eventuell sind aber auch einfach nur die Leerzeichen im Dateinamen das Problem, fasse den Dateinamen mal in " ein:
Delphi-Quellcode:
DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='"M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite"';
|
AW: Automatiach erstellte Syntax
Hi zusammen
@TigerLilly So, wie ich das verstanden habe, sind das zwei Mögliche Schreibweisen. @nahpets: Soeben ausprobiert - und scheint genau so zu sein. Jedenfalls ist jetzt die Fehlermeldung anders: Zitat:
War aber Fehlanzeige - selbe Fehlermeldung... Aktuelle Pfadangabe[13:45]:
Delphi-Quellcode:
['Database']:='"M:\SQLite-DB Corner\ContentMasterData\ContentMasterData.sqlite"';
Gruss Delbor |
AW: Automatiach erstellte Syntax
>So, wie ich das verstanden habe, sind das zwei Mögliche Schreibweisen.
Naja, nur, wenn es "Database" schon gibt. |
AW: Automatiach erstellte Syntax
Hi zusammen
Die letzte gezeigte Fehlermeldung hatte eine Besonderheit: Das, was ich hier gepostet habe, war eine Kopie aus dem Editor, und da endete die Meldung mit einem '. Nachdem ich die Meldung mit Fortsetzen qittiert hatte, erschien sie in einem Meldungsfenster auf meiner Programmoberfläche - aber diesmal ohne das Hochkomma am Schluss... Nun ja, ich hab dann doch mal TigerLillys Vorschlag ausprobiert und das 'm' in 'ContentMasterData' durch ein grosses seiner Art ersetzt. So, wie es in allen meinen SQL-Strings steht. Und jetzt ist die Fehlermeldung wieder: Zitat:
Stattdessen habe ich jetzt wieder einen solchen mit der Endung sqlite. Den gelöscht und... das Spielchen geht von vorne los....:twisted: Gruss Delbor |
AW: Automatiach erstellte Syntax
Hi TigerLilly
Zitat:
Gruss Delbor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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