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
 
nahpets
(Gast)

n/a Beiträge
 
#34

AW: Automatiach erstellte Syntax

  Alt 8. Sep 2017, 16:43
PS: Mal etwas mehr oftopic:
In den MySQL Workbench-Einstellungen sind die FK-Namensregelung so definiert: fk_%stable%_%dtable%,
für Spaltennamen so: %table%_%column%. Da seh ich eigentlich keinen grossen Spielraum, wenn man sprechende Namen verwenden will...
Ja und? Kann man doch nach eigenen Kriterien ändern.

Und was die Workbench für MySQL macht, muss für SQLite nicht als Gesetz gelten.

Da Du alle Statements letztlich in den Delphiquelltext übernimmst, kannst Du sie dort nach Deinen Wünschen sinnvoll und lesbar anpassen.

Wenn SQLite die Unmenge von " nicht braucht, dann weg damit.

Habe selten derart schlecht lesbare Scripte gesehen, liegt vielleicht daran, dass ich als "alter Sack" Datenbankscripte noch selbst schreiben musste und mich (als misstrauischer Knilch) nie auf automatisch erstelltes Zeug blind verlassen habe.

Für mich ist wichtig, dass sowohl lesbarer, als auch korrekt funktionierender Quelltext entsteht. Egal welche Quellen und / oder Werkzeuge die Grundlage lieferten.

Was mir erst jetzt auffiel:
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);
Da passt was nicht: Zuerst die Datenbankverbindung beenden, dann ein ExecSQL ausführen? Wo denn, ohne Datenbankverbindung?
FDSQLiteConnection.ExecSQL('ATTACH "M:\SQLite-DB Corner\ContentMasterData\ContentMasterData.sqlite" AS ContentMasterData'); gehört hinter FDSQLiteConnection.Connected := true; aber vor die Createstatements.
  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:13 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