Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Mal wieder Datenbanken ;-( (https://www.delphipraxis.net/164500-mal-wieder-datenbanken-%3B.html)

Gustav.R 15. Nov 2011 18:39

Datenbank: ? • Version: ? • Zugriff über: ?

Mal wieder Datenbanken ;-(
 
Möchte für eine Freundin eine möglichst recht einfach zu bedienende Datenbank schreiben. Die "einfache Bedienung" liegt natürlich an mir, ist schon klar.

Die "Datenbank" soll nur lokal mit einem Benutzer - der Freundin - laufen.

Geschätzte Ausmaße der Datenbank:

< 5.000 Datensätze
< 50 Datenfelder

DatenFeldtypen:

- viele Strings < 255 Zeichen mit Umlauten und Pfadangaben
- mehrere Booleans


Habe hier ein paar alte, brauchbare Komponenten für eine dBase III-Datenbank unter Delphi5. dBase III ist aber wohl nicht mehr so ganz up-to-date ;-)

Ich möchte das Projekt mit Delphi7 personal (dem keine Datenbankkomponenten beiliegen) verwirklichen.

Habt ihr irgendwelche Empfehlungen, die nicht auf XML hinauslaufen?

GG

Furtbichler 15. Nov 2011 18:45

AW: Mal wieder Datenbanken ;-(
 
Textdatei, CSV-Format. Es handelt sich ja nur um eine einzige Tabelle. Textformat ist besser, weil man auch manuell lesen/editieren kann.

Du baust dir einen Record mit deinen Daten und zunächst eine Lese- und eine Schreibroutine, die den Record in einen String schreiben und wieder zurück lesen kann. Dafür gibt es hier im Forum die 'Explode' Routine.

So, nun kannst Du dir einen Array of TDatenRecord aufbauen und dann erstmal lesen und schreiben implementieren.

Wenn das gut funktioniert, tippelst Du dir ein paar Testdaten zusammen (Lustig, auch EXCEL liest/schreibt 'CSV' Dateien).

Dann nur noch die Visualisierung, also dein Programm drüberbuppeln und fettisch is die Kiste.

Gustav.R 15. Nov 2011 18:57

AW: Mal wieder Datenbanken ;-(
 
Danke Furtbichler,

aber CSV finde ich nicht so prickelnd, wenn die 50 Strings (eines Datensatzes) aneinandergehängt werden sollen. In Textdateien bekommt man oft Ärger mit den Zeilenumbrüchen :-(

Hat jemand andere Vorschläge?

GG

Sir Rufo 15. Nov 2011 19:08

AW: Mal wieder Datenbanken ;-(
 
Jop, Synopse mORMot Framework

Da werkelt im Untergrund ein SQLite3

Furtbichler 15. Nov 2011 19:25

AW: Mal wieder Datenbanken ;-(
 
Zitat:

Zitat von Gustav.R (Beitrag 1136359)
Danke Furtbichler,

aber CSV finde ich nicht so prickelnd, wenn die 50 Strings (eines Datensatzes) aneinandergehängt werden sollen. In Textdateien bekommt man oft Ärger mit den Zeilenumbrüchen :-(

Hat jemand andere Vorschläge?

GG

Na dann nimm halt ein anders Format zum speichern, so eine Art INI-Datei ginge auch. Pro Sektion ein Record. Hier gibs irgendwo eine sehr schnelle TBigIni-Klasse.

Wenn Du natürlich gleich etwas dazulernen willst, nimm ne richtige DB... Geht mormot auch mit D7P?

joachimd 15. Nov 2011 19:29

AW: Mal wieder Datenbanken ;-(
 
Zitat:

Zitat von Gustav.R (Beitrag 1136359)
aber CSV finde ich nicht so prickelnd, wenn die 50 Strings (eines Datensatzes) aneinandergehängt werden sollen. In Textdateien bekommt man oft Ärger mit den Zeilenumbrüchen :-(

Hat jemand andere Vorschläge?

SuperObject von http://www.progdigy.com/?page_id=6 ... das ganze in einer Objekt/Array-Struktur ablegen und dann als JSON speichern. Wie XML, aber einiges übersichtlicher.

Sir Rufo 15. Nov 2011 19:36

AW: Mal wieder Datenbanken ;-(
 
Zitat:

Zitat von Furtbichler (Beitrag 1136366)
Wenn Du natürlich gleich etwas dazulernen willst, nimm ne richtige DB... Geht mormot auch mit D7P?

Ja, der Entwickler programmiert das mit Delphi 7 und es werden keinerlei zusätzlichen DB-Komponenten benötigt.
Zitat:

Zitat von joachimd (Beitrag 1136367)
Zitat:

Zitat von Gustav.R (Beitrag 1136359)
aber CSV finde ich nicht so prickelnd, wenn die 50 Strings (eines Datensatzes) aneinandergehängt werden sollen. In Textdateien bekommt man oft Ärger mit den Zeilenumbrüchen :-(

Hat jemand andere Vorschläge?

SuperObject von http://www.progdigy.com/?page_id=6 ... das ganze in einer Objekt/Array-Struktur ablegen und dann als JSON speichern. Wie XML, aber einiges übersichtlicher.

mORMot tauscht die Daten im JSON-Format aus.

Allerdings hat man beim Einsatz von mORMot relativ wenig mit der Datenbank, noch mit dem JSON-Format was so wirklich was am Hut.
Man ist ja Delphi-Entwickler, also bleibt man schön bei Delphi und um das ganze Geraffel drumherum kümmert sich das Framework.

Ein Beispiel gibt es hier im Forum

ach ja, bevor hier gleich das Gebrülle losgeht "ich will aber keinen Server":
Im Client statt:
Delphi-Quellcode:
TmORMotClientHttp
das hier nehmen
Delphi-Quellcode:
TmORMotClientLocal
und einfach keine Server-App schreiben ;)

andersherum kann man ebenso fix aus einer reinen Standalone-Lösung eine Client-Server-Anwendung bauen ;)

Furtbichler 15. Nov 2011 19:38

AW: Mal wieder Datenbanken ;-(
 
Zitat:

Zitat von Sir Rufo (Beitrag 1136369)
Man ist ja Delphi-Entwickler, also bleicht man schön bei Delphi und um das ganze Geraffel drumherum kümmert sich das Framework.

Pruhuuust. :lol:

Sir Rufo 15. Nov 2011 19:42

AW: Mal wieder Datenbanken ;-(
 
Zitat:

Zitat von Furtbichler (Beitrag 1136370)
Zitat:

Zitat von Sir Rufo (Beitrag 1136369)
Man ist ja Delphi-Entwickler, also bleicht man schön bei Delphi und um das ganze Geraffel drumherum kümmert sich das Framework.

Pruhuuust. :lol:

manchmal verarscht mich der Mac mit seiner Rechtschreibkorrektur ;)

EDIT: hmmm, bei den vielen Stunden am Rechner bleicht aber doch ganz schön :mrgreen:

p80286 16. Nov 2011 05:20

AW: Mal wieder Datenbanken ;-(
 
Also wenn man sich an die RFC hält, dann sollte ASCII delimited bzw CSV eigentlich kein Problem sein, auch bei Zeilenumbrüchen.

Gleiches gilt für XML. Eine weitere Möglichkeit wäre es mit mit einem File of Record zu arbeiten. Statt mit Strings arbeitet man mit einem Array of Char. Ist zwar ein wenig umständlich aber geht unter D7P und ohne Fremdkomponenten.
Nur die Möglichkeit mit einem normalen Texteditor daran zu fummeln wäre etwas eingeschränkt.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz