Beispiele für eine Datenbankanwendung

Für Fragen von Einsteigern und Programmieranfängern...
mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Beispiele für eine Datenbankanwendung

Beitrag von mse »

Eine weitere Möglichkeit die Verwendung der MSEgui Datenbankkomponenten. Sie sind eine Weiterentwicklung der FCL SQLDB Komponenten (auch "Original-Lazarus"-Komponenten genannt). MSEgui gibt es für Linux und Windows, unterstützte Datenbanken sind Firebird, PostgreSQL, MySQL, Sqlite3 und ODBC.
Mit MSEgui kann man mit SQL-Datenbanken Anwendungen ähnlich bequem wie mit Access erstellen. Ein weiterer Vorteil ist die umfassende Unicode Unterstützung.

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Beispiele für eine Datenbankanwendung

Beitrag von DL3AD »

Hallo mse,

danke - aber ich wollte schon bei Lazarus bleiben.

Wie ich gesehen habe kann man mit den Bordeigenen Mitteln als auch mit der Zeos auf MySql datenbanken zugreifen sowohl unter Win wie auch Linux.
Wo liegen die Vor- und Nachteile der beiden Möglichkeiten ?
Welche der beiden Möglichkeiten macht das Proggen angenehmer bezüglich DB Anwendungen ?

Gruß Frank

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Beispiele für eine Datenbankanwendung

Beitrag von Ralf »

DL3AD hat geschrieben:Hallo mse,

danke - aber ich wollte schon bei Lazarus bleiben.

Wie ich gesehen habe kann man mit den Bordeigenen Mitteln als auch mit der Zeos auf MySql datenbanken zugreifen sowohl unter Win wie auch Linux.
Wo liegen die Vor- und Nachteile der beiden Möglichkeiten ?
Welche der beiden Möglichkeiten macht das Proggen angenehmer bezüglich DB Anwendungen ?

Gruß Frank
Hallo Frank,
"angenehmer" ist, wenn Du das nimmst, was Du schon installiert hast, also die Lazarus-Komponenten.
Da kannst Du sofort loslegen und es ist Teil des Lazarusprojektes, was gewährleistet, dass diese Komponenten automatisch mit gepflegt (Updates, Support, etc.) werden.

Also Beispielcode hast Du schon auf Deiner Platte.
Schau mal unter "Examples" innerhalb Deiner Lazarus-Installation.
Da findest Du sehr einfache Beispiele, wie man eine DB erzeugt und/oder verbindet UND wie eine Listenansicht (DBGrid) aussieht...
Bei mit unter Linux z. B. hier: /usr/share/lazarus/1.0.14/examples/database
oder
/usr/share/lazarus/1.0.14/examples/dbeditmask

Viel Spaß. :)

PS: Ansonsten ist das Basiswissen um Datenbanksysteme die entscheidendere Frage, finde ich.
Vielleicht willst Du später auch Artikelbilder in die DB speichern können oder hast den Anspruch, dass die Installation (beim Kunden) einfach und sicher ist.... und die DB schnell (performant) ist?
WENN dem so ist, schaust Du vielleicht noch vorher, welche DB was leistet... und dann schaust Du, welche Komponenten es für diese DB dann gibt...

Doch wenn das erstmal keine Rolle spielt .... lege einfach mit dem los, was da ist... ;-)
Kubuntu 20.04 LTS

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Beispiele für eine Datenbankanwendung

Beitrag von DL3AD »

Hallo Ralf,

danke für deine netten Hinweise :wink:
Bei mir unter den Beispielen ist unter Database nur ein Bsp mit einer SQLite - aber gut wenn der Connect erstmal da ist zu einer DB wird es sicherlich beim Datenhandling gleich verhalten.
Das Projekt soll niemals verkauft werden - ich habe eine kleine Firma im Bereich CNC Lohnfertigung und da will ich einfach die Artikel verwalten, Aufträge mit Artikeln anlegen und den Aufträgen einen Kunden zuordnen, dass ist im groben schon alles (erstmal).
Ein paar Belege drucken möchte ich dann natürlich auch.
Im Moment habe ich eine Lösung die ist sowas von langsam (ACCESS basierend kommerziell gekauft) so dass ich was angepasstes selbst proggen möchte.
Diese Kommerziellen Lösungen sind nie so wie man es sich wünscht und dann noch mit Funktionen zugemüllt die keiner braucht.

Gruß Frank

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

Bei einer 1-Platz-Lösung reicht SQLite voll aus.
Und wenn du Zeos einsetzt, dann reicht die Änderung von ein paar Eigenschaften der ZConnection um auf mySQL umzusteigen.
Schon aufgrund dieser Möglichkeiten und des Funktionsumfangs würde ich Zeos nehmen.
hde

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Beispiele für eine Datenbankanwendung

Beitrag von DL3AD »

... nein es ist keine 1-Platz Lösung - und die Daten sollen Zentral auf einem NAS liegen in einer MySql.
Eine Datenbank mit PHPMyAdmin aufzusetzen ist kein Problem - dass kann ich :)

Gibt es dann eine Übersicht was kann Zeos was die bordeigenen Mittel von Lazarus nicht können und umgekehrt.

Gruß Frank

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

Da ich versuche bei meinen Projekten immer die optimalen Tools einzusetzen, habe ich keine Erfahrungen mit den DB-Tools von Lazarus. Wir setzen Zeos auch unter Delphi ein. Aber die aktuellen Datenbankdateien mit denen mySQL (oder welche DB auch immer) arbeiten soll auf eine NAS auszulagern halte ich für keine gute Idee, sichern ja, aber keine heiße Arbeitsdatei
hde

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Beispiele für eine Datenbankanwendung

Beitrag von Ralf »

DL3AD hat geschrieben:
Bei mir unter den Beispielen ist unter Database nur ein Bsp mit einer SQLite - [...]
Merkwürdig... Du hast doch auch 1.0.14 installiert... Hhmmm..
Hier mal ein Screenshot meiner umfangreichen Beispiele, die mitgeliefert werden...
Beispiele a-i ... jede Menge Stuff...
Beispiele a-i ... jede Menge Stuff...
DL3AD hat geschrieben:
aber gut wenn der Connect erstmal da ist zu einer DB wird es sicherlich beim Datenhandling gleich verhalten.
Ähnlich... Unterschiede gibt es natürlich immer... sonst würde es keine verschiedenen DBMS geben... jedoch schon ausreichend, um das Prinzip zu verstehen...
DL3AD hat geschrieben:
Das Projekt soll niemals verkauft werden - ich habe eine kleine Firma im Bereich CNC Lohnfertigung und da will ich einfach die Artikel verwalten, Aufträge mit Artikeln anlegen und den Aufträgen einen Kunden zuordnen, dass ist im groben schon alles (erstmal).
Na.. dann mal viel Spaß mit dem "dass ist im groben schon alles " :)

DL3AD hat geschrieben:
[...]
Diese Kommerziellen Lösungen sind nie so wie man es sich wünscht und dann noch mit Funktionen zugemüllt die keiner braucht.
DAS ist dann wohl auch meistens der Grund dafür, warum es doch recht viel individuelle Software gibt.... und das finde ich auch gut so ;)

Viel Erfolg und vor allem Spaß beim Programmieren.

PS: Wenn Du willst, schicke ich Dir die Beispiele zu, welche allesamt einwandfrei funktionieren (habe viele davon kompiliert und mir angesehen)... :)
Wobei ich immer noch nicht verstehe, warum Du sie nicht hast.... hhmmm
Kubuntu 20.04 LTS

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Beispiele für eine Datenbankanwendung

Beitrag von DL3AD »

Hallo Ralf,

im Ordner Database ist ein Beispielprojekt und im Ordner dbeditmask ist auch nur ein Beispielprojekt.

Wenn du noch mehr hast dann würde ich gern eine Mail von dir bekommen wollen.
Adresse kommt per PN

Gruß Frank

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Beispiele für eine Datenbankanwendung

Beitrag von Ralf »

DL3AD hat geschrieben:Hallo Ralf,

im Ordner Database ist ein Beispielprojekt und im Ordner dbeditmask ist auch nur ein Beispielprojekt.

Wenn du noch mehr hast dann würde ich gern eine Mail von dir bekommen wollen.
Adresse kommt per PN

Gruß Frank
Nun, dann hast Du also doch die Beispiele...

Mit MySQL benötigt man nun noch ein paar weitere Angaben... ist natürlich bei RDBMS komplexer als bei lokalen DB's.
Du hast jedoch im Example-Dir "mssql" ein schönes Beispiel, in welchen Du einfach die MSsql Komponente gegen die passende MySQL Komponente (Version 4.x oder 5.x) austauscht...
Dann bist Du schon mit Deinem MySQL-Server verbunden und kannst Daten in dem DBGrid angucken.... ;-)

Oder vielleicht auch das Buch kaufen.... denn da steht schon noch einiges Interessantes drin... wenn man mehr wissen will, als nur das an der Oberfläche des Systems...

Good Luck,
Ralf

PS: Was "besser" ist usw. ist meist sehr philosophisch und auch nur unter den Aspekten, welche einem wichtig sind, sinnvoll zu beantworten. :D
Pauschale "Beispiele" haben wir alle auf der Platte....
Kubuntu 20.04 LTS

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Beispiele für eine Datenbankanwendung

Beitrag von DL3AD »

... vielen dank !

werde dann mal weitere Infos sammeln - mache mir mal am besten eine Test DB auf meinem NAS und versuche dann darauf zu zugreifen.
Mit dem Buch, das werde ich dann wohl auch mal bestellen.

Gruß Frank

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Beispiele für eine Datenbankanwendung

Beitrag von MmVisual »

Wenn man eine SQL Abfrage schreibt, so muss der Tabellen Name immer klein geschrieben werden, sofern der NAS ein Linux Kernel hat. Bei Windows ist das egal.
Lazarus und Zeos gehen beide mit Linux und Windows. Auch wenn der MySQL Server unter Windows oder Linux läuft.
Ganz so wie bei meinem EleLa Projekt.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Beispiele für eine Datenbankanwendung

Beitrag von Ralf »

DL3AD hat geschrieben:... vielen dank !

werde dann mal weitere Infos sammeln - mache mir mal am besten eine Test DB auf meinem NAS und versuche dann darauf zu zugreifen.
Mit dem Buch, das werde ich dann wohl auch mal bestellen.

Gruß Frank
Was für ein NAS hast Du denn?
Kubuntu 20.04 LTS

Ralf
Beiträge: 65
Registriert: Mi 29. Jan 2014, 18:31
OS, Lazarus, FPC: Ubuntu 20.04 LTS (L 2.0.6 FPC 3.3.1)
CPU-Target: 64Bit

Re: Beispiele für eine Datenbankanwendung

Beitrag von Ralf »

MmVisual hat geschrieben:Wenn man eine SQL Abfrage schreibt, so muss der Tabellen Name immer klein geschrieben werden, sofern der NAS ein Linux Kernel hat. Bei Windows ist das egal.
Lazarus und Zeos gehen beide mit Linux und Windows. Auch wenn der MySQL Server unter Windows oder Linux läuft.
Ganz so wie bei meinem EleLa Projekt.
Ich habe mal Deine Seite aufgerufen.
Macht einen guten Eindruck, was Du da programmiert hast.
Leider kann davon keiner hier was lernen, denn die Sourcen hast Du nicht offen gelegt, gell?
Dennoch ein interessantes Programm. :)
Kubuntu 20.04 LTS

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Beispiele für eine Datenbankanwendung

Beitrag von DL3AD »

Hallo Ralf,

habe eine Synology 213+
Bin sehr zufrieden damit.

Antworten