Lazarus und TSqlite3Dataset - aber wie?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Benutzeravatar
Purtzel
Beiträge: 3
Registriert: Mi 13. Okt 2010, 23:16
OS, Lazarus, FPC: Windows 10 - Linux Mint 19.3 - Lazarus (akt. Version) - FPC (akt. Version)
CPU-Target: 64Bit
Wohnort: Berlin

Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Purtzel »

Hallo ihr Lazarusianer,

ich bin hier neu und neuer Lazarus-User (seit heute genauer gesagt). Paralel codiere ich mit Delphi 7 und SQLite als Datenbank. Die Verbindung habe ich mit dem simple Delphi wrapper for Sqlite 3 von Tim Anderson hergestellt und komme damit auch gut zurecht. Und nun die dummen? Fragen. Kann ich den simple Delphi wrapper for Sqlite 3 auch mit Lazarus verwenden damit ich mich nicht sonderlich umstellen muss? Wenn ja, wohin mit den .pas Dateien. Wenn nicht: nach langem Suchen habe ich endlich das im Lazarus-Wiki erwähnte TSqlite3Dataset gefunden. Gleiches Problem. Wohin mit den 3 Dateien customsqliteds.pas, sqlite3ds.pas und sqliteds.pas und wie kann ich dann auf das TSqlite3Dataset zugreifen? Hat jemand vielleicht ein kleines Beispiel das für mich einfacher zu verstehen ist als die Tutorials im Internet? Ich arbeite im übrigen unter Windows XP / Vista.

Bitte helft mir, sonst wird das vielleicht eine kurze Liebelei zwischen Lazarus und mir und das wäre doch sehr schade.

Viele Grüße sendet allen hier
Purtzel
Ein Coder ist ein Tool, das Kaffee trinkt und Code pinkelt ;-)

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Bora4d »

Als erstes kannst du versuchen deinen simplen Wrapper zu verwenden. Dafür mußt du die Datei einfach in den Ordner packen wo dei Programm-Quellte liegen.
und füge am besten nach
unit unitnamexy;
das:
{$mode delphi}
Damit wird für diesen Unit Delphi-Kompatibilität eingeschaltet.

Zweitens du kannst in Lazarus eingabaute Komponente verwenden. Sie liegt bei der "SQLdb"-Plattenseite und heißt TSqlite3Connection.

Drittens ZeosDBO hat auch Sqlite-Componente die muß man herunterladen und installieren.

Viel Glück.

Kiffi
Beiträge: 37
Registriert: Sa 27. Mär 2010, 11:39
OS, Lazarus, FPC: Windows 7 / Lazarus 1.0
CPU-Target: 32/64 bit

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Kiffi »

Bora4d hat geschrieben:Zweitens du kannst in Lazarus eingabaute Komponente verwenden. Sie liegt bei der "SQLdb"-Plattenseite und heißt TSqlite3Connection.

Drittens ZeosDBO hat auch Sqlite-Componente die muß man herunterladen und installieren.


von Zeos habe ich jetzt schon öfter gelesen. Kann mir jemand vielleicht erklären, wo der
Vorteil / Nachteil liegt, wenn man diese Komponente anstelle der in Lazarus eingebauten
(TSQLite3Connection, TSQLTransaction, TSQLQuery) verwendet?

Danke im voraus & Sorry für's Halb-OffTopic ... Kiffi

Benutzeravatar
Purtzel
Beiträge: 3
Registriert: Mi 13. Okt 2010, 23:16
OS, Lazarus, FPC: Windows 10 - Linux Mint 19.3 - Lazarus (akt. Version) - FPC (akt. Version)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Purtzel »

@ Bora 4d
Vielen Dank für die schnelle Antwort. Ich werde das jetzt alles mal ausprobieren. Wenn es Probleme gibt, kann ich dich wieder kontaktieren?

@ Kiffi
Hier (http://lazarus.intern.es/zeos_komponenten_lazarus.html) habe ich was über zeos gefunden mit einigen nützlichen Links. Vielleicht
hilft es dir. Im übrigen, bist du der Kiffi aus dem PureBasic-Forum?

Viele Grüße sendet
Purtzel
Ein Coder ist ein Tool, das Kaffee trinkt und Code pinkelt ;-)

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Bora4d »

@Purtzel: Ja kannst du machen. Es gibt ein Beispiel im Ordner (lazarus\tools\lazdatadesktop) aber das verwendet nicht Laraus-Komponenten. Es verwendet fcl-komponenten.

@Kiffi: An ZeosDBO erkennst du den Delphi-Umsteiger :wink:
Bei Delphi habe ich ZeosDBO verwendet und hatte nie Probleme damit und die haben gleichen Funktions- und Methodennamen wie die Delphi-DB-Komponenten. Deshalb muß man bei diesen Komponenten nicht viel lernen oder umdenken. Der größte Vorteil ist, dass du ohne Veränderungen im Programm DB wechseln kannst.
Ich habe die in Lazarus eingebauten nie verwendet vielleicht sind die auch auch gut.

Kiffi
Beiträge: 37
Registriert: Sa 27. Mär 2010, 11:39
OS, Lazarus, FPC: Windows 7 / Lazarus 1.0
CPU-Target: 32/64 bit

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Kiffi »

@Purtzel & Bora4d: Danke für die schnellen Infos! Was ich so auf die schnelle entdecken kann ist, dass das Transaction-Objekt in der ZEOS-TZConnection
integriert ist. Ist also ein bisschen weniger Tipparbeit. Dem gegenüber würde ich es allerdings als Nachteil sehen, mit ZEOS eine Komponente eines
'Drittanbieters' zu nutzen. Sollte die Entwicklung an ZEOS irgendwann mal eingestellt werden und zukünftige Versionen des FPC nicht mehr mit der letzten
ZEOS-Version zusammenarbeitet, ist man als Entwickler erst einmal in den Popo gekniffen (sofern man diese Änderungen nicht selber korrigieren kann).

@Purtzel: Joh, ich bin der aus dem PureBoard. Hast Du auch was mit PB zu tun?

Grüße ... Kiffi

Benutzeravatar
Purtzel
Beiträge: 3
Registriert: Mi 13. Okt 2010, 23:16
OS, Lazarus, FPC: Windows 10 - Linux Mint 19.3 - Lazarus (akt. Version) - FPC (akt. Version)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Purtzel »

@ Kiffi
Hallo, mein Lieber,
wenn das so ist, hatten wir schon öfter Kontakt. Im Pureboard habe ich unter dem Namen Purethom geschrieben und du hast mir schon sehr häufig geholfen, gerade im Bezug auf SQLite. Bewundert habe ich immer, das du geholfen hast, ohne jedesmal zu lamentieren, ob ich schon die Boardsuche oder Google bemüht habe. Dafür nochmals vielen Dank. Zu Delphi 7 und nun zu Lazarus bin ich gekommen, weil mein Sohn im Leistungskurs Informatik Delphi und Object Pascal zum Thema hat. Und obwohl ich nur als Hobby programmiere, konnte ich mit meinen PB-Erfahrungen gut helfen. Aber nun ist doch ein tieferer Einstieg in die Materie notwendig. Darum der momentane Umstieg. Und was treibt dich hierher? Noch ne Frage: was ist ein Halb-OffTopic?
Ich weis garnicht, ob so ein privater Austausch hier geduldet wird. Aber ich hoffe es einfach mal.

Viele Grüße sendet .. Purtzel
Ein Coder ist ein Tool, das Kaffee trinkt und Code pinkelt ;-)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von af0815 »

Kiffi hat geschrieben:... Dem gegenüber würde ich es allerdings als Nachteil sehen, mit ZEOS eine Komponente eines
'Drittanbieters' zu nutzen. Sollte die Entwicklung an ZEOS irgendwann mal eingestellt werden und zukünftige Versionen des FPC nicht mehr mit der letzten
ZEOS-Version zusammenarbeitet, ist man als Entwickler erst einmal in den Popo gekniffen (sofern man diese Änderungen nicht selber korrigieren kann).

Egal was man nimmt, man kann es immer als " erst einmal in den Popo gekniffen" definieren.
Die fpc-db Komponenten führen öfters malauch ein Eigenleben. Bei SQLITE habe ich zB.gegenseitige Locks bekommen wenn ich einfache inserts gemacht habe. War logisch durch nichts zu erklären. Unter ZEOS funktionieren die Standardaktionen ohne Probleme.
Ich argumentiere: Wenn ich den Quellcode habe, kann ich notfalls das Produkt weiterschleppen, auch wenn es vom Hersteller bereits aufgegeben wurde. Zumindest bis ich eine ander Lösung dafür haben.
Im Bezug auf Datenbanken ist meiner Meinung und Erfahrung nach, Zeos stabiler und ausgereifter als die fcl-db Sachen, wobei letztere im letzten Jahr extreme Fortschritte gemacht haben (fpc aus dem svn). Wie gesagt - persöhnliche Erfahrung.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Kiffi
Beiträge: 37
Registriert: Sa 27. Mär 2010, 11:39
OS, Lazarus, FPC: Windows 7 / Lazarus 1.0
CPU-Target: 32/64 bit

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von Kiffi »

@af0815:

af0815 hat geschrieben:Egal was man nimmt, man kann es immer als " erst einmal in den Popo gekniffen" definieren.

Danke für Deinen Erfahrungsbericht! Deine Schilderungen hören sich ja nicht sehr beruhigend an...

Ich werde noch ein wenig experimentieren. Beide Komponenten sind zu Glück ja von der Handhabung her sehr ähnlich,
so dass man relativ einfach wechseln kann.

@Purethom : Dann sind wir mit Bemulak ja schon zu dritt :-) So langsam aber sicher wird das Lazarusforum infiltriert ;-)

"Halb-OffTopic" bedeutet, dass man nicht völlig am Thema vorbeiredet (OffTopic); allerdings auch das
eigentliche Thema "Lazarus und TSqlite3Dataset" nicht zu 100% trifft (ich lege meinen Schwerpunkt ja auf
den Unterschied zwischen ZEOS und TSQL*).

Grüße ... Kiffi

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

Re: Lazarus und TSqlite3Dataset - aber wie?

Beitrag von MmVisual »

Hallo,

Ich kann die ZEOS Komponente sehr empfehlen. Die funktioniert

1. Schnell
2. auch unter Delphi7
3. mit mehreren Datenbanken, indem man einfach das Protokoll in TZConnection umschaltet.
4. unter Windows und Linux

Ich bin damit sehr zufrieden. Letztens habe ich eine Lagerverwaltung für MySQL geschrieben, dank Punkt 3. hat das problemlos auch mit SQLite geklappt.

Gruß Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten