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
 
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#33

AW: Automatiach erstellte Syntax

  Alt 8. Sep 2017, 15:56
Ich denke, ich muß bisher gesagtes wiederholen:
für ExecSQL/SQLExec nur EIN Statement !
Zumindest in der Entwicklungsphase, wenn man mit dem DBMS nicht so vertraut ist.
Das ist somit ein NoGo:
Zitat:
SQLString := 'CREATE TABLE ContentMasterData.bilddescribetabelle('+
.......
'REFERENCES "bildtabelle"("idBild"));'+
'CREATE INDEX ".....
Delphi-Quellcode:
procedure TDMLSQLite.ContentmasterDBCreate;
   var SQLString: String;
begin
   try
     DMLSQLite.FDSQLiteConnection.Connected := false;
     FDSQLiteConnection.ExecSQL('ATTACH "M:\SQLite-DB Corner\ContentMasterData\ContentMasterData.sqlite" AS ContentMasterData');
// DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='"M:\SQLite-DB Corner\ContentMasterData\ContentMasterData.sqlite"';

// War obige Zeile nicht auskommentiert: Unbekannte Datenbank. Danach liefen alle Createanweisungen durch. Beim nächsten ExecCSQL krachte es

     DMLSQLite.FDSQLiteConnection.Params.Values['FailIfMissing']:='False';
     DMLSQLite.FDSQLiteConnection.Params.Values['PRAGMA foreign_keys']:='ON';
     SQLiteTestMain.LBxPathlist.Items.AddStrings(FDSQLiteConnection.Params);
     DMLSQLite.FDSQLiteConnection.Connected := true;
     DMLSQLite.FDSQLiteConnection.GetInfoReport(SQLiteTestMain.Memo1.Lines);
     SQLString := '';
     SQLString := Createbilddescribetabelle;
Falls mit TDMLSQLite und DMLSQLite das selbe gemeint sein sollte, solltest Du self. nutzen. Dann gibt es auch kein Vertun, was denn womit gemeint ist. (Das gilt für den Compiler wie für den Programmierer).

Aus dem Anhang in #35 geht hervor, das irgendwo auf dem Laufwerk M: eine Datei existiert, die wohl ein Datenbank enthält. Diese Datenbank ContentMasterData enthält die Tabelle bilddescribetbelle.

Versuch doch mal in einem Testprogramm einen Connect durchzuführen und dann mit
select * from bilddescribetabelle bzw.
select * from ContentMasterData.bilddescribetabelle auf diese Tabelle zuzugreifen.

Übrigens ein .connected:=false; direkt gefolgt von einem .ExecSQL erschein nicht sehr sinnvoll.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 22:09 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