Beispiele für eine Datenbankanwendung

Für Fragen von Einsteigern und Programmieranfängern...
hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

ganz einfach: Laz32bit braucht ein 32bit.DLL, Lz64bit dann natürlich eine 64bit-DLL. Die mySQL-Version ist egal alle 5er passen

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 »

... bekommt man die 64bit dll auch irgendwo ohne dass man sich bei oracel anmelden muss ?

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 »

... habe nun einfach Laz 32 bit installiert - Connect zur db ist nun da. :)
Konnte dann die richtige Datenbank auswählen.

Wie kann ich nun die Tabellen auswählen und dem Datagridview zuordnen ?

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 »

hde hat geschrieben:ganz einfach: Laz32bit braucht ein 32bit.DLL, Lz64bit dann natürlich eine 64bit-DLL. Die mySQL-Version ist egal alle 5er passen


Ich erinnere mich da an einen Jungen, der eines Tages so aus'm Stand und völlig nebenbei fragte:
"Wie geht C?" :D

Er konnte damals auch nicht fassen, dass ihm das keiner mal eben erklären konnte.... :roll:
Zuletzt geändert von Ralf am Fr 7. Mär 2014, 18:53, insgesamt 1-mal geändert.
Kubuntu 20.04 LTS

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

Re: Beispiele für eine Datenbankanwendung

Beitrag von hde »

DL3AD hat geschrieben:Wie kann ich nun die Tabellen auswählen und dem Datagridview zuordnen ?

gocher hat geschrieben: //select
rs := TZQuery.Create(nil);
rs.Connection := cn;
rs.SQL.Add('SELECT * FROM test');
rs.Open;

wie gocher gepostet hat: ZQuery1.SQL bestücken und mit ZConnection1 verbinden,
dann Datasource1 mit ZQuery1 verbinden, und DBGrid1 mit Datasource1

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 »

Für Jemanden der nicht weiß wie man ein TZQuery bedient (SQL und so), gibt es noch einen TZTable, macht aber meines Erachtens nur mit kleinen Tabellen Sinn, aber so zum Spielen geht es, mit dieser Komponente kannst Du natürlich eine Komplette Tabelle auswählen.

Code: Alles auswählen

  tb := TZTable.Create(nil);
  tb.Connection := cn;
  tb.TableName := 'test';
  tb.Open;
...
  tb.Close;
  tb.Free;
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

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 »

... ja dem ist so,( bin einsteiger in diesem Segment) ich weis nicht wie man ein TZQuery bedient - deshalb bitte ich ja auch um Hilfe :(
Ich habe nirgens ein Tutoriel oder ein passendes Beispiel für die Gui-Komponenten gefunden.
Die links im wiki sind kaput.
Deshalb muss ich alles hinterfragen.

Habe nun auf dem form1
ZConnection
ZQuery
Datasource1

In den Eigenschaften alles entsprechend verbunden (soweit ich es mir zusammenreimen konnte)

Auf dem MySql Server sind zwei Datenbanken - diese kann ich auch auswählen.
Meine Testdatenbank ist AV2014 und die hat zwei Tabellen.
Tabelle1: einheit
Tabelle2: artikel
Mit phpMyAdmin kann ich darauf zugreifen und einige TestDaten habe ich auch schon eingefügt.
Wie greift man mit den Gui Komponenten auf diese Tabellen zu ?

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 »

also fangen wir mal ganz von vorne an, das is ne Dampfmaschine :)
Ich habe mir mal eben Zeos in mein Lazarus kompiliert, denn ich nutze sonst die visuellen Komponenten nicht!

Wir brauchen:
  • TDBGrid auf Form1 ziehen, DBGrid1 entsteht
  • um später auch noch durch die einzelnen Datensätze navigieren zu können, TDBNavigator auf Form1 ziehen, DBNavigator1 entsteht
  • TDataSource auf Form1 ziehen, DataSource1 entsteht
  • TZQuery auf Form1 ziehen, ZQuery entsteht
  • TZConnection auf Form1 ziehen, ZConnection1 entsteht
im Objektinspektor:
  • DBGrid1 auswählen und bei DataSource, DataSource1 eintragen
  • DBNavigator1 auswählen und bei DataSource, DataSource1 eintragen
  • DataSource1 auswählen und bei DataSet, ZQuery1 eintragen
  • ZQuery1 auswählen und bei Connection, ZConnection1 eintragen, bei SQL "SELECT * FROM artikel"
  • TConnection auswählen und bei Protocol 'mysql-5', bei Database 'testdb', HostName 'localhost', Port 3306, User 'dein Username' und bei Password 'dein Passwort' eintragen
Und noch zwei Buttons zum Öffnen und Schließen der Abfrage
  • Button auf Form1 ziehen, auf erzeugten Button klicken, in die erzeugte Funktion ZQuery1.Active := true; schreiben
  • Button auf Form1 ziehen, auf erzeugten Button klicken, in die erzeugte Funktion ZQuery1.Active := false; schreiben

ich hoffe ich habe nichts vergessen, ich kann im Moment nicht testen, denn mir fehlt zur Zeit der Zugang zu einer MySQL Datenbank 8)
[korrigiert: Jop war im Eifer des Gefechts etwas zu schnell]
Zuletzt geändert von gocher am Fr 7. Mär 2014, 23:40, insgesamt 1-mal geändert.
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 »

gocher hat geschrieben:und bei DataSource, DataSource1 eintragen,


dies bei ZQuery1 bitte NICHT. denn bei TZQuery ist Datasource ein EINgang für evtl Parameter der SQL-Abfrage im Slave-Teil einer Master-Detail-Beziehung.
bei TZConnection dann ggf. noch LibraryLocation
sonst alles richtig
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 »

Welche Links sind kaputt ?
hier: http://wiki.freepascal.org/Zeos_tutoria ... -Anwendung
steht genau beschrieben was du wie mit den visuellen Komponenten machen musst damis funktioniert.
Ich wollt eigentlich nicht nachfragen aber was ist da jetzt anders ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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 »

Christian hat geschrieben:Welche Links sind kaputt ?
hier: http://wiki.freepascal.org/Zeos_tutoria ... -Anwendung
steht genau beschrieben was du wie mit den visuellen Komponenten machen musst damis funktioniert.
Ich wollt eigentlich nicht nachfragen aber was ist da jetzt anders ?

Mein Gott beim nächsten mal bitte etwas schneller, hätte mir eine Menge Arbeit erspart :cry:
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 »

Christian hat geschrieben:Ich wollt eigentlich nicht nachfragen aber was ist da jetzt anders ?


Nichts ist anders, der link ist OK man muss nur lesen können :wink:

@gocher, den link hatte Michl heute mittag schon mal geposttet

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 »

Mein Gott beim nächsten mal bitte etwas schneller, hätte mir eine Menge Arbeit erspart :cry:

Steht auf Seite 1 dieses Threads und auf Seite 3 jewails von Michl, wer lesen kann ist klar im Vorteil. Nur noch die Frage ob der OP das auch 2x überlesen hat.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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 »

Ich dachte Frank brauchte eines Einstieg für Dummys und vermutete nicht das der schon existiert, ehrlich gesagt lese ich mir nicht immer alles rückwirkend/aufmerksam durch, was ich allerdings von dem Fragesteller erwarte! Ich gehe nicht davon aus das eine Frage schon beantwortet wurde und dann im selben Thread noch einmal neu gestellt wird.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

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 »

@ Christian,

unter der Überschrift "Mehr Informationen über das Arbeiten mit Zeos "

sind vier links und nicht einer funktioniert bei mir.

Ich danke euch für eure Bemühungen mir zu helfen.
Werde mir das heute noch mal in aller Ruhe anschauen.

Gruß Frank

Antworten