![]() |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Liste der Anhänge anzeigen (Anzahl: 2)
ich seh grad:
wenn man die rechte Maus-Taste drückt, während sich der Maus-Cursor auf der Palette befindet, dann erhält man im Anhang gezeigten Bildschirm. ZEOS steht fast als letztes. Wenn man dann schon geübter Delphianer ist, dann weiß man ja so ungefähr, wo die vom Entwickler meist- benutzen Komponenten liegen... Nachtrag: im Anhang 2, da bei SQLite, da kommt dann der Pfad für die Datenbank(Datei) hin ? |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
PS:
Die Suche nach den Komponenten in der Palette funktioniert erst wenn du dich im Design Modus befindest. :warn: SQLite Tutorial: ![]() PS: Bitte halte dich an den Delphi Styleguide...nicht wie im Video. :wink: PS: Den Datenexplorer benutze ich persönlich nicht. Die externen AdminTools können das imho besser. :wink: (Indizies etc.) PS: Die Connection des Datenexplorers sind nur für FireDAC und dbExpress (Embedded). Wenn du ZEOS (auch Connection zu externen DB Servern) benutzt, dann ohne Datenexplorer. |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe einen Mix aus Palette, und Fenster-Liste.
Die Datenanbindung geht gut. Nur die Beispiele zu "sqlite3.exe datenbank.db" funktionieren nicht - es wird keine neue Datenbank angelegt. Erst wenn ich in die CommandShell gehe und dort per .archive datenbank.db eine Datenbank erstelle, ist die dann auch als Datei vorliegt. Dann eine kleine Tabelle mit CREATE TABLE ... erstellt, und das Ergebnis, kann man im Anhang sehen. |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Zitat:
Zitat:
FireDAC ist das aktuelle Datenbank-Framework in Delphi. Zitat:
Zitat:
|
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Zitat:
PS: SQLite ist Embedded. :zwinker: Wenn du bei SQLite bleibst, und die FireDAC benutzt, könntest du auch die ZEOS wieder entfernen. Weniger Fremdkomponenten. :wink: Deine Entscheidung... |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Zitat:
|
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
dbExpress war das BDE ?
ich nutze das aber nicht - also dbExpress. ich habe eine Zeos Connection, und eine Zeos Table neben der TJvDataSource und dem TJVDBGrid. Bei JEDI wurde anscheinend auch der ganze Kram von BDE entfernt - jedenfalls habe ich diesbezüglich keine Anzeichen gefunden, da ich über eine SQLiteConntection gehe, die man links unter Daten-Explorer finden/einstellen kann. Die SQLite Datenbank habe ich mit den CommandShell Programm erstellt, und dazu noch eine Test-Tabelle. Das Ergebnis hatte ich gepostet ? - das geht wunderbar. |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Das baut bei mir eine SQLITE Datenbankverbindung.
Kann sein dass die Datei erst beim Anlegen von Tabellen oder Beim Connect entsteht, aber sie ist immer da wenn ich sie brauche. Es ist aus zwei Methoden zusammen kopierter Code und alle Variablen liegen bei mir im private Teil einer Klasse, aber das soll ja auch einfach nur copy paste freundlich sein, deswegen liegen die variablen jetzt in irgendwo über dem Begin. Evtl. must du 'FMX' durch 'VCL' ersetzten je nach Framework.
Delphi-Quellcode:
Damit kann man eine datenbank Verkleinern und beschleunigen... das ist ziemlich schnell und man kann es eigentlich bei jedem Start machen.
var
fDBDir:String; FConnection: TFDConnection; fGUIxAsyncExecuteDialog: TFDGUIxAsyncExecuteDialog; fGUIxWaitCursor: TFDGUIxWaitCursor; fPhysSQLiteDriverLink: TFDPhysSQLiteDriverLink; Begin FConnection := TFDConnection.Create(nil); FConnection.Name := 'LOCALCONNECTION'; FConnection.Params.Clear; FConnection.Params.Values['DriverID'] := 'SQLite'; fDBDir := TPath.Combine(TPath.GetHomePath, 'MEINEDATENVERZEICHNIS'); if not TDirectory.Exists(fDBDir) then TDirectory.CreateDirectory(fDBDir); FConnection.Params.Values['Database'] := TPath.Combine(fDBDir,'MEINEDATENBANKDATEI.s3db'); FConnection.Params.Values['Lockingmode'] := 'Normal'; FConnection.Params.Values['Synchronous'] := 'Full'; // 'Normal' FConnection.Params.Values['SharedCache'] := 'False'; FConnection.Params.Values['DateTimeFormat'] := 'String'; FConnectionParams.Values['Password'] := 'MEINUNKNACKBARESPASSWORT'; // Ohne Passwort fragt er nach einem Passwort! Auch wenn es leer ist. FConnection.UpdateOptions.LockWait := false; // false = sofort einen fehler melden wenn ein datensatz locked ist . true= warten bis lock vorbei ist. FConnection.UpdateOptions.LockMode := TFDLockMode.lmPessimistic; FConnection.TxOptions.Isolation := TFDTXisolation.xiRepeatableRead; //vorher TFDTXisolation.xiIsolation Es geht um die Isolation von Transaktionen gegen einander if Not Assigned(FPhysSQLiteDriverLink) then FPhysSQLiteDriverLink := TFDPhysSQLiteDriverLink.Create(self); FPhysSQLiteDriverLink.DriverID := 'SQLite'; if Not Assigned(FGUIxWaitCursor) then FGUIxWaitCursor := TFDGUIxWaitCursor.Create(self); FGUIxWaitCursor.Provider := 'FMX';//oder 'VCL' if Not Assigned(FGUIxAsyncExecuteDialog) then FGUIxAsyncExecuteDialog := TFDGUIxAsyncExecuteDialog.Create(Application.MainForm); FGUIxAsyncExecuteDialog.Provider := 'FMX';// oder 'VCL' end;
Delphi-Quellcode:
procedure TDbHealth.Defrag_And_SpeedUp;
var fFDSQLiteValidate_sweep, fFDSQLiteValidate_Analyze:TFDSQLiteValidate; begin fFDSQLiteValidate_sweep := TFDSQLiteValidate.Create(nil); try fFDSQLiteValidate_sweep.Database := FDatabase; fFDSQLiteValidate_sweep.Password := FPassword; fFDSQLiteValidate_sweep.DriverLink := FPhysSQLiteDriverLink; fFDSQLiteValidate_sweep.MaxErrors := 10; fFDSQLiteValidate_sweep.Sweep; finally fFDSQLiteValidate_sweep.free; end; fFDSQLiteValidate_Analyze := TFDSQLiteValidate.Create(nil); try fFDSQLiteValidate_Analyze.Database := FDatabase; fFDSQLiteValidate_Analyze.Password := FPassword; fFDSQLiteValidate_Analyze.DriverLink := FPhysSQLiteDriverLink; fFDSQLiteValidate_Analyze.MaxErrors := 10; fFDSQLiteValidate_Analyze.Analyze; finally fFDSQLiteValidate_Analyze.free; end; end; |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Hallo,
ich habe es nun endlich vollbracht: Ich habe eine RAD-Studio Delpi 21 und C++ Builder - wahr nicht umsonst... ... was den SQLITE Teil angeht: müssen dazu noch BPL oder DLL oder noch andere Sachen mit der EXE mitgegeben werden, oder reicht es, wenn man die Option "Mit Laufzeitpackages" kompolieren, so wie man sie aus älteren Delphi Versionen her kennt, angibt und man dann alles in der EXE hat ? SQLite ist ja keine reine Server-Version... ? Ich frage deshalb, weil ich das noch nicht auf andere Computer getestet habe. Ist denn SQLite die bessere Wahl zu XML-Dateien ? Ich habe vor, das ich entweder: - XML Dateien schreibe/lese, wenn ich mit Daten arbeite, die geparst werden müssen, oder: - oder einen Parser (der dann ggf. im C++ Builder geschrieben wird) bastle, oder: - SQLite Datenbank verwende ? bei letzteren Punkt bin ich mir im Moment etwas nicht schlüßig. Welche XML-Komponente könnte ich denn dazu nehmen - ist da ein Standard ? |
AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
Zitat:
Zitat:
* reine statische Daten z.b. XML = Text mit Struktur (Konfiguration o.ä.) * Daten die sich ändern, gesucht und gefiltert werden müssen = Datenbank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 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