Beispiele für eine Datenbankanwendung

Für Fragen von Einsteigern und Programmieranfängern...
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 »

Ja, meine Sourcen kann ich nicht veröffentlichen.

Ich habe auch eine Synology DS, es klappt sehr gut mit Lazarus & Zeos auf MySQL.
EleLa - Elektronik Lagerverwaltung - www.elela.de

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,

ich habe mir mal die Zeos Komponenten installiert - scheint ja einiges mehr an Möglichkeiten zu bieten als die bordeigenen Mittel.
Ich kann nirgens ein Beispiel finden wie man eine Verbindung zu einer MySql Datenbank herstellt.
Kann mir da jemand behilflich sein.
Eine MySql - Test-Datenbank mit zwei Tabellen habe ich schon angelegt auf einer Synology.
Nun möchte ich die Daten in einem Gridview ausgeben lassen.

Gruß Frank

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: Beispiele für eine Datenbankanwendung

Beitrag von gocher »

Beispiel: http://www.lazarusforum.de/viewtopic.ph ... &start=121

Code: Alles auswählen

  program zeos;
    {$APPTYPE CONSOLE}
    {$mode objfpc}{$H+}
    uses Classes, SysUtils, ZConnection, ZDataset;
 
    var
      cn: TZConnection;
      rs: TZQuery;
      i: integer;
      s: string;
    begin
    //connect db
      cn := TZConnection.Create(nil);
      cn.Protocol := 'mysql-5';
      cn.Database := 'testdb';
      cn.HostName := 'localhost';
      cn.Port := 3306;
      cn.User := 'root';
      cn.Password := 'root';
      cn.Connect();
    //select
      rs := TZQuery.Create(nil);
      rs.Connection := cn;
      rs.SQL.Add('SELECT * FROM test');
      rs.Open;
    //list fieldnames
      for i:=0 to rs.Fields.count-1 do
        s := rs.Fields[i].Name;
    //list values
      while not rs.eof do
      begin
        for i:=0 to rs.Fields.count-1 do
          s := rs.Fields[i].AsString;
        rs.Next;
      end;
    //close recordset
      rs.Close;
      rs.Free;
    //close connection;
      cn.Disconnect;
      cn.Free;
    end.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

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

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

OK, so kann man's machen wenn man die visuellen Objekte außen vorlässt. War's so gemeint?
hde

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Beispiele für eine Datenbankanwendung

Beitrag von Christian »

Nur um die Möglichkeit mal erwähnt zu haben
Du kannst auch das Promet Framework benutzen, da hast das gesamt Datenbankhandling und alle Klassen für Artikelverwaltung,Kontaktverwaltung,Dokumentenverwaltung,eMail,Banking u.s.w. schon da und getestet. Das hat auch den Charme das die Anwendungen dann austauschbar sind.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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 »

... mir geht es ja gerade um die visuellen Elemente, sonst hätte ich ja auch die bordeigenen Möglichkeiten nutzen können.

Gruß Frank

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Beispiele für eine Datenbankanwendung

Beitrag von Christian »

Ja die Visuellen möglichkeiten hast du dann ja komplett offen, und die Business Logik kannst einfach übernehmen und musst nicht das Rad zum 10.000 mal erfinden und Jahrelang fehler rausmachen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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 Christian,

das Promet Framework habe ich mir mal angesehen da sind weider 10.000 Funktionen von denen ich 100 benötige - genau dass will ich ja nicht.
Mich interessieren die Visuellen Möglichkeiten des Zeos - da benötige ich ein simples Beispiel wie ich eine Mysql verbinde und daten in einem Gridview darstelle.
Ich brauche erstmal einen Einstieg - dann läuft der Code meist schnell von der Hand.

Gruß Frank

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Beispiele für eine Datenbankanwendung

Beitrag von Christian »

Ich merk auch gerade das uns beiden das nichts bringen würde.
Sag doch erstmal was zu den Beispielen die dir schon dargebracht wurden, bevor du nach mehr fragst.

P.S.: Du solltest übrigends weder Zeos noch lazarus einsetzen, da sind weit mehr als 100 Funktionen drin die du nicht nutzen wirst.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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 Christian,

ich fragte speziell nach einem Beispiel mit Zeos unter Nutzung der Visuellen Komponenten.
Dies könnte auch ein Link zu einem Videotutorial oder ähnlichem sein.
Jeder hat eine andere Art sich Wissen anzueignen und ich benötige einfach ein passendes Beispiel.
Wenn ich aus Spass am programmieren ein Projekt anfangen möchte - dann ist es einfach so .
Dann muss ich Promet nicht verwenden .
Wenn du mir kein passendes Beispiel liefern kannst oder das Herstellen einer Verbindung zu eine MySql Datenbank mit den Zeos Komponenten nicht erklären kannst, so würde ich dich bitten dich hier nicht weiter zu äußern.

Gruß Frank

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Beispiele für eine Datenbankanwendung

Beitrag von Michl »

http://www.lazarusforum.de/viewtopic.php?p=67227#p67227
http://wiki.freepascal.org/Zeos_tutoria ... -Anwendung
Bei MySQL ist noch die Eigenschaft ZConnection.LibraryLocation z.B. "c:\windows\system32\libmysql.dll" einzutragen, ansonsten s.O. (AFAIK ins Projektverzeichnis kopieren sollte auch gehen)

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

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

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

@DL3AD,
wo liegt denn dein Problem? Eine ganz einfach eDatenbankanwendung mit mySQL und Zeos ist mit den visuellen Componenten so einfach als wäre es für Kinder im Grundschulalter. Braucht keine einzige Zeile Code. Wo braucht es da eine Erkärung oder ein Beispiel?

Zieh eine TZConnection, TZQuery, TDatasource, TDBGrid, TDBNavigator auf eine leere Form, fülle die Propertie, verbinde alles miteinander, setze ZConneciton1 auf connected = true, ZQuery1,Active auf true und du hast deine Anwndung. Kannst Daten eingeben, durchlbättern, ändern und löschen.

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 »

@Michl,

die Links im wiki sind kaput :cry: trotzdem Danke.

@hde,

ZConnection1:
wenn ich Connected auf true setze dann kommt eine Fehlermeldung - kann den Treiber nicht finden
Catalog ???
HostName <IP des NAS> ?
LibraryLocation ???
Port ???
Tag ???

Was kommt da rein ?

Gruß Frank

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

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

wenn ich mich recht entsinne hat die gocher das schon gepostet
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 »

... ok Port 3306

Habe nun auch eine libmysql.dll ins Projektverzeichniss kopiert - nun mäckert er Das er die lib gefunden hat kann sie aber nicht laden.
Habe auf dem Webserver MySql Version 5.1.49 drauf.
Meine Lazarus IDE ist 64 bit.
Welche lib benötige ich denn ? Wo finde ich eine passende ?

Gruß Frank

Antworten