Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Listview in Datenbank (rein-und rauslesen) (https://www.delphipraxis.net/185603-listview-datenbank-rein-und-rauslesen.html)

Asura 23. Jun 2015 22:09

Listview in Datenbank (rein-und rauslesen)
 
Guten Tag
und zwar stehe ich vor dem Problem, dass ich ein Listview gerne in eine Datenbank speichern möchte, damit ich mit diesen Werten jederzeit arbeiten kann und diese auch nach dem Neustart vorhanden sind.
Leider eröffnet sich mir die Frage, wie ich dies umsetze. Ich habe mich im Internet informiert über die verschiedenen Datenbanken (BDE, dbExpress, Paradox, SQL, DataCLX etc.). Ich musste aber ernüchtern feststelle, dass ich nicht das Wissen besitze, um nun zu entscheiden, welches für mich das Richtige ist.
Im Prinzip habe ich ein Listview mit 4 Spalten und 20 Einträgen (Es handelt hier um eine Mitarbeiterverwaltung). Diese soll in eine Datenbank, damit ich diese jederzeit neu laden kann.

Eventuell können Sie mir weiterhelfen und mir empfehlen, was nun für mich das richtige wäre und Ansätze geben, wie ich das umsetzen kann.

Ich würde mich freuen!

MfG
Asura

blawen 23. Jun 2015 23:29

AW: Listview in Datenbank (rein-und rauslesen)
 
Hallo
Wenn effektiv nur ein Listview befüllt werden soll, ist eine Datenbank sicherlich unangebracht. Hier bieten sich einfachere Lösungen wie z.B. eine INI-Datei an.
Wenn jedoch noch weitere Daten gespeichert werden sollen, z.B. ein Adressverzeichnis oder Arbeitspläne, bietet sich hingegen eine DB-Lösung an.
Um eine Empfehlung abgeben zu können, muss jedoch mehr über den geplanten Einsatzzweck, resp. die vorhandenenen Möglichkeiten bekannt gegeben werden.

- Handelt es sich um wenige Datensätze oder aber um x-Tausend?
- Müssen mehrere User gleichzeitig zugreifen können
- Soll die Datenbank nur lokal auf einem PC eingesetzt werden
- Steht bereits ein Datenbank-Server zur Verfügung (z.B. ein NAS)
- ...

Insofern kann mit den obigen Angaben keine direkte Empfehlung abgegeben werden.

jobo 24. Jun 2015 06:22

AW: Listview in Datenbank (rein-und rauslesen)
 
Naja bei 20 Einträgen würde wahrscheinlich die kleinste Datenbank der Welt reichen.
Bei einer Mitarbeiterverwaltung bezweifel ich allerdings, dass es bei diesem einen Listview bleiben wird. Insofern könnte man auch was größeres nehmen.
Allein schon der Inhalt (Mitarbeiterdaten) sollte (muss?) geschützt werden und dafür eigenen sich Datenbanken ganz gut.

Perlsau 24. Jun 2015 06:49

AW: Listview in Datenbank (rein-und rauslesen)
 
Zitat:

Zitat von Asura (Beitrag 1306340)
Leider eröffnet sich mir die Frage, wie ich dies umsetze. Ich habe mich im Internet informiert über die verschiedenen Datenbanken (BDE, dbExpress, Paradox, SQL, DataCLX etc.). Ich musste aber ernüchtern feststelle, dass ich nicht das Wissen besitze, um nun zu entscheiden, welches für mich das Richtige ist.

Kurz mal ein paar Hinweise:
  • BDE ist keine Datenbank. Diese Abkürzung steht für Borland Database Engine und stellt eine völlig veraltete Zugriffsmethode der alten Borland-IDEs auf Datenbanken dar.
  • SQL ist ebenfalls keine Datenbank. Diese Abkürzung steht für Structured Query Language und bezeichnet eine Abfragesprache, mit der Daten in Datenbanken manipuliert werden können. Die allermeisten Datenbanken verstehen SQL bzw. basieren auf dieser Abfragesprache.
  • Um eine sogenannte Datenbankanwendung zu entwickeln, erstellt man zuerst die Datenbank und entwickelt danach die Anwendung, die für den Anwender eine Schnittstelle zur Datenbank zur Verfügung stellt. In einer Datenbank kann man quasi alle Daten, die das Programm beim Start benötigt, unterbringen.
  • Für Datenbank-Einsteiger empfiehlt es sich, ein paar der verfügbaren Datenbank-Tutorials durchzuarbeiten, bevor man damit beginnt, eine zuverlässige Anwendung für den Produktiv-Einsatz zu entwickeln. Hier empfehle ich immer wieder gerne die Tutorials im Delphi-Treff.
  • Erst wenn man ein mehr wenig über Datenbanken weiß als die allgemein bekannte Tatsache, daß sie sich von Park- und Gechäftsbanken unterscheiden, kann man ernsthaft mit der Entwicklung von Datenbank-Anwendungen beginnen.
Für eine Minimalanwendung, wie du sie offenbar beabsichtigst, wäre eine Datenbank vermutlich überdimensioniert. Wenn du dich allerdings ernsthaft für den Einsatz von Datenbanken interessierst, wäre dein kleines Projekt sicher ein gutes Einsteiger-Projekt, um daran den Umgang mit Datenbanken zu erlernen. Ansonsten speicherst du deine Daten eben einfach in Dateien ab. Ein kleines Einsteiger-Tutorial hatte ich mal auf YouTube vorgestellt (in der vorliegenden Reihefolge zu absolvieren):
  1. Delphi PC-Heil Tutorial Deutsch für Anfänger 001 Erste Schritte
  2. Delphi PC-Heil Tutorial Deutsch für Anfänger 002 Erste Schritte
  3. Delphi PC-Heil Tutorial Deutsch für Anfänger 003 Adressverwaltung 1
  4. Delphi PC-Heil Tutorial Deutsch für Anfänger 004a Adressverwaltung 2
  5. Delphi PC-Heil Tutorial Deutsch für Anfänger 004b Adressverwaltung 2
Dieses Tutorial erklärt ausführlich, wie man typisierte Dateien dazu verwendet, gleichartige Datensätze ohne Datenbank zu verwalten.

Crosspost Delphi-Treff

Dejan Vu 24. Jun 2015 07:04

AW: Listview in Datenbank (rein-und rauslesen)
 
Zitat:

Zitat von Perlsau (Beitrag 1306351)
Um eine sogenannte Datenbankanwendung zu entwickeln, erstellt man zuerst die Datenbank und entwickelt danach die Anwendung...

Das stimmt so mittlerweile nicht mehr. Du kannst Dir dein Datenmodell als Klassenstruktur erstellen und dann daraus die DB-Struktur erstellen lassen. Dazu benötigst Du allerdings ein modernes ORM, welches imho -zumindest in dieser Form- für Delphi leider noch nicht zur Verfügung steht. Damit sparst Du dir aber einen Haufen Arbeit, weil Du den Code für das laden und speichern nicht mehr selbst schreiben musst. Und das ist -speziell bei verknüpften Klassen und Listen- ein nicht unerheblicher Aufwand.

Bei C# würdest Du z.B. das EntityFramework verwenden.

Lemmy 24. Jun 2015 07:11

AW: Listview in Datenbank (rein-und rauslesen)
 
Zitat:

Zitat von Dejan Vu (Beitrag 1306354)
Dazu benötigst Du allerdings ein modernes ORM, welches imho -zumindest in dieser Form- für Delphi leider noch nicht zur Verfügung steht.

du meinst wohl "nicht mehr"... schon Bold konnte aus dem Klassenmodell ein DBModell erzeugen und aktuell halten. ECO III meines Wissens genauso.... ;-)

Die aktuell für Delphi verfügbaren ORM können das meines Wissen wirklich nicht. Aber ich denke, das ist das kleinste Problem, die Nutzung eines ORM ist auch so in den meisten Fällen eine gute Wahl...

DeddyH 24. Jun 2015 07:53

AW: Listview in Datenbank (rein-und rauslesen)
 
EntityDAC soll das können, allerdings habe ich keinerlei Erfahrung damit. Achja, nach meiner Kenntnis arbeitet mORMot auch so.

baumina 24. Jun 2015 08:02

AW: Listview in Datenbank (rein-und rauslesen)
 
Spätestens jetzt ist der TE komplett überfordert tztztz

TRomano 24. Jun 2015 08:08

AW: Listview in Datenbank (rein-und rauslesen)
 
So ganz ohne "Vorbildung" sollte man sich nicht an diese ORM´s heran wagen. Da hat man ja schon als Delphi- und Datenbank-Affiner einigen Aufwand für Verständnis und Einarbeitung.
Schön step by step, wie Perlsau es beschrieben hat sollte der TE vorgehen, zu mal er ja noch Einiges vor hat (Mítarbeiter-Verwaltung). Da braucht er eine "echte" Datenbank, auch wenn es vielleicht nur 20 MA geben sollte. Ich sage nur: Tabellen für Stammdaten der MA, Stunden-Verwaltung, Struktur der Firma, Kontaktdaten etc.

Gruß Thomas

Asura 24. Jun 2015 09:08

AW: Listview in Datenbank (rein-und rauslesen)
 
Dankeschön für die vielen Antworten.
Kurz zur Information:
Das Projekt soll in soweit erweitert werden, das man einen Schichtplan erstellen kann, diesen sollte man dann mit der Mitarbeiterliste erstellen können, da ich später noch die Verfügungszeiten hinzufügen werden. Für die Mitarbeiterverwaltung, sollte der komplette Name, Geburtsdatum, Aufgabenbereich und wie gesagt die Verfügungszeiten innerhalb der Woche abgespeichert werden. Die Schichtpläne sollten dann später auch abspeicherbar und wieder ladbar sein, an diese Problematik wollte ich mich aber später erst auseinandersetzen und vorerst die Mitarbeiterverwaltung fertigstellen. Ich denke die Datensätze der Mitarbeiter werden nicht mehr als 30 werden, dann mit Name, Geburtsdatum, Aufgabenbereich und Verfügungszeiten würden pro Mitarbeiter dann 11 Datensätze hinzukommen (da: 7 Tage + Uhrzeit von den Verfügungszeiten dazukommen).
Zurzeit steht mir kein Server zu Verfügung, da ich das fertige Projekt erst dem Unternehmen vorstellen muss und erst dann entschieden wird, ob dieses eingeführt wird. Erst ab dann steht mit eventuell ein Server mit Datenbank zur Verfügung.
Als weitere Information: Die Mitarbeiter sollten dann später die Schichtpläne einsehen können, somit denke ich doch das eine Datenbank sinnvoll wäre oder? Vorerst sollte es aber erstmal nur Local laufen und später dann Online kommen.

MfG
Asura


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 Uhr.
Seite 1 von 5  1 23     Letzte »    

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