Delphi-PRAXiS
Seite 8 von 11   « Erste     678 910     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ? (https://www.delphipraxis.net/213658-delphi-7-bde-32-bit-wie-eine-datenbank-und-oder-alias-erstellen.html)

paule32.jk 14. Sep 2023 11:40

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 ?

haentschman 14. Sep 2023 12:31

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:
https://www.youtube.com/watch?v=C8Oxq-jJ2ZY

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.

paule32.jk 14. Sep 2023 14:13

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.

jaenicke 14. Sep 2023 14:14

AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
 
Zitat:

Zitat von paule32.jk (Beitrag 1526931)
Wenn man dann schon geübter Delphianer ist, dann weiß man ja so ungefähr, wo die vom Entwickler meist-
benutzen Komponenten liegen...

Da in der neuen Palette die Kategorien übersichtlich untereinander stehen und man die Namen der Komponenten nicht erst sieht, wenn man die Maus drüber hält, findet man dort die Komponenten ohnehin schnell.

Zitat:

Zitat von paule32.jk (Beitrag 1526931)
Nachtrag:
im Anhang 2, da bei SQLite, da kommt dann der Pfad für die Datenbank(Datei) hin ?

Das ist dann aber dbExpress, das bei Delphi dabei ist, und nicht ZEOS. Das ist aber auch schon veraltet. Du kannst dort im Daten-Explorer SQLite nehmen, aber dann gehe bitte oben unter FireDAC zu "SQLite database". Mit rechts drauf klicken und du kannst eine neue Verbindung erstellen. Dort bekommst du dann auch ein ausführliches Fenster, in dem du den Dateinamen usw. eintragen kannst.

FireDAC ist das aktuelle Datenbank-Framework in Delphi.

Zitat:

Zitat von haentschman (Beitrag 1526933)
PS:
Den Datenexplorer benutze ich persönlich nicht. Die externen AdminTools können das imho besser. :wink: (Indizies etc.)

Der Datenexplorer stellt direkten Zugriff auf die eingestellte Datenbank zur Verfügung. Du kannst nach der Einstellung einfach z.B. die Tabelle auf ein Datenmodul oder ein Formular ziehen.

Zitat:

Zitat von paule32.jk (Beitrag 1526941)
und das Ergebnis, kann man im Anhang sehen.

Du verwendest dort die JEDI-Komponenten. Dagegen spricht zwar nichts, aber du solltest darauf achten, dass du Fremdkomponenten nur nutzt, wenn sie etwas mitbringen, das du brauchst, das die Standard-Komponenten nicht können. Je mehr Fremdkomponenten du nutzt, desto schwerer kannst du auf diese verzichten. Wenn das dann ohne Grund passiert, ist das ärgerlich.

haentschman 14. Sep 2023 14:28

AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
 
Zitat:

Du kannst dort im Daten-Explorer SQLite nehmen, aber dann gehe bitte oben unter FireDAC zu "SQLite database".
Solange du Embbeded arbeitest, kannst du auch FireDAC nehmen. (hatte ich vorher schon gesagt) Sobald du aber auf eine Datenbank im Netzwerk zugreifen willst, geht das mit der Community Edition und FireDAC nicht mehr...dann ZEOS.

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...

jaenicke 14. Sep 2023 15:34

AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
 
Zitat:

Zitat von haentschman (Beitrag 1526944)
Solange du Embbeded arbeitest, kannst du auch FireDAC nehmen. (hatte ich vorher schon gesagt) Sobald du aber auf eine Datenbank im Netzwerk zugreifen willst, geht das mit der Community Edition und FireDAC nicht mehr...dann ZEOS.

Genau, ich meinte das auch nur in Bezug auf dbExpress. Wenn es über die integrierten Komponenten gehen soll, dann bitte mit FireDAC und nicht mit dbExpress.

paule32.jk 14. Sep 2023 15:51

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.

QuickAndDirty 21. Sep 2023 15:42

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:
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;
Damit kann man eine datenbank Verkleinern und beschleunigen... das ist ziemlich schnell und man kann es eigentlich bei jedem Start machen.
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;

paule32.jk 17. Okt 2023 10:00

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 ?

haentschman 17. Okt 2023 10:08

AW: Delphi 7 - BDE 32-Bit - Wie eine Datenbank und/oder Alias erstellen ?
 
Zitat:

Ich habe eine RAD-Studio Delpi 21
...hätte ich auch gern. :zwinker: Tippfehler...
Zitat:

Ist denn SQLite die bessere Wahl zu XML-Dateien ?
Kommt auf den Zweck an...
* 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.
Seite 8 von 11   « Erste     678 910     Letzte »    

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