Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   "Gemischte Daten" abspeichern (https://www.delphipraxis.net/194085-gemischte-daten-abspeichern.html)

sko1 16. Okt 2017 13:19

AW: "Gemischte Daten" abspeichern
 
Ihr seid ja klasse!

Langsam kann ich mich mit der SQLite-Version auch anfreunden, Ziel (oder besser Vorgabe) ist es eben eine Datei pro "Sammelsurium" zu bekommen.

Jetzt schwanke ich nun zwischen 3 verschiedenen Lösungsansätzen...

Ciao
Stefan

nahpets 16. Okt 2017 13:39

AW: "Gemischte Daten" abspeichern
 
Eine Datenbank ist letztlich ein Sammelsorium von Daten.

Eine Datenbank für Tipps rund um Delphi.
Eine Datenbank für Tipps rund um Datenbanken.
Eine Datenbank für Rezepte.
Eine Datenbank für Reisebeschreibungen.

Wenn alle die gleiche Struktur haben, kannst Du durch (dialoggesteuerten Wechsel) der Datenbank aus einer Tippverwaltung eine Rezepteverwaltung machen.

Daternbanken sind nicht zwingend was ominös überdimmensioniertes, das auch Daten enthält.

Sie sind ggfls. auch einfach nur ein kleiner Container für eine überschaubare Datenmenge.

Sinn ist letztlich die strukturierte Ablage von Daten zwecks einfacher Verwaltung von zusammengehörigem.

Und wenn eine Datenbank nur eine Tabelle enthält? Dann ist das halt so.

Und das schön daran ist:

Wenn in jedem Datensatz der Typ steht, kannst Du über die Abfrage des Typs in einer If-Kaskade oder per Case, sehr einfach die Inhalte der Blobspalte auslesen.

Sinngemäß ungefähr sowas:
Delphi-Quellcode:
Case Datensatz.FieldByName('Type').AsInteger of // oder ein Aufzählungstyp?!?
  1: IntegerVariabel := Datensatz.FieldByName('Blob').AsInteger;
  2: StringVariabel := Datensatz.FieldByName('Blob').AsString;
  3: Memo.Add(Datensatz.FieldByName('Blob').AsString);
  4: ImageLaden('http://www.delphipraxis.net/117340-blob-per-stream-aus-db-lesen-und-imageview-anzeigen.html');
else
  ShowMessage('Upps, unbekannter Typ.');
end;

hhcm 16. Okt 2017 13:44

AW: "Gemischte Daten" abspeichern
 
Da mag jetzt jeder seine Vorlieben haben.
Gerade die Unterschiedlichen Datentypen schreien geradezu nach einer Datenbank.
Alleine der Vorteil die Daten auch direkt Visualisieren zu können (fast ohne eine Codezeile)

nahpets 16. Okt 2017 13:58

AW: "Gemischte Daten" abspeichern
 
Habe mir mal eine Textverwaltung geschrieben.

Mehrere Datenbanken (unterschiedlichster Typen (MSSql, Oracle, PostGres, FireBird, Access)) können per Dialog ausgewählt werden.

Jede Datenbank hat eine (wesentliche) Datentabelle.
Die Struktur ist immer gleich.

Enthalten sind Rezepte, Romane (zur EPub-Erstellung), diverser Informationssammlungen ...

Alle können einheitlich mit einem Programm "verarbeitet" werden.

Neu Sammlung?

Neue Datenbank, Tabelle anlegen, dafür sorgen, dass die Datenbank ausgewählt werden kann und schon sind alle Funktionalitäten verfügbar.

Als kleinsten Nenner für die "Datenbankunabhängigkeit" hab' ich mich für die ADO-Komponenten entschieden.

Die Datenbanken kann man daher über den Connctiondialog von TADOConnection auswählen. Ggfls. muss man vorher 'nen ODBC-Treiber einrichten.

Da es sich hier nicht um Hochleistungssysteme handelt, halt' ich diese schon etwas antiquierte Technik für durchaus ausreichend.


Macht man sowas neu und nutzt SQLite, wählt man über 'nen Dialog die passende Datenbankdatei aus und hat mit sehr wenig Aufwand recht schnell eine Software, mit der man "grenzenlose" Mengen von unterschiedlichsten Daten verwalten kann, ohne sie miteinander vermischen zu müssen.

hhcm 16. Okt 2017 16:21

AW: "Gemischte Daten" abspeichern
 
Dafür nutz ich Unidac.
Aber hier gehts eigentlich ja gar nicht um Datenbanken :)

Alleine schon wegen der Flexibilität tausche ich in großen Projekten eine Ini-Datei schon gegen eine SQLite DB. Dank Unidac ohne die dll ausliefern zu müssen.
Die Möglichkeiten sind um einiges größer als bei einer "effen" ini.

nahpets 16. Okt 2017 17:33

AW: "Gemischte Daten" abspeichern
 
Ja, aber die unterschiedlichen Ideen und Lösungsansätze zu einem "nicht Datenbankthema" mit Hilfe von Datenbanken zeigen ja, dass Datenbanken nicht zwingend was mit 'nem Server und erstmal viel Overhead sein müssen, sondern auch quasi schon für "Kleinigkeiten" sinnvoll genutzt werden können.

Eventuell braucht man (je nach Entwicklungswerkzeug) eine DLL und eine Datenbankdatei oder eben auch nur die Datenbankdatei.
Und hat dadurch mit sehr wenig Aufwand plötzlich eine immense Leistungsfähigkeit, auch wenn es "nur" um die Verwaltung von Texten, Konfigurationsdaten, Bildern ... geht.

FireFox nutzt zur Verwaltung ja auch u. a. SQLite-Datenbanken. Und der ist bestimmt jetzt nicht eine typische Datenbankanwendung ;-)

sko1 17. Okt 2017 06:04

AW: "Gemischte Daten" abspeichern
 
Danke nochmals für die vielen Hinweise!
Die Entscheidung ist gefallen, es wird nun wirklich eine kleine SQLite-DB!

Ciao
Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
Seite 2 von 2     12   

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