SQLite3 Datenbank

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

SQLite3 Datenbank

Beitrag von bembulak »

Hallo Leute!

Ich versuche gerade das erste Mal, eine (SQlite3-)Datenbank mit Lazarus zu bearbeiten. Zum gegenwärtigen Zeitpunkt möchte ich den Inhalt der DB (1 Tabelle, 7 Spalten) nur anzeigen, eine normale Query ala 'SELECT * FROM table' reicht mir also schon.

Mein Problem ist allerdings, dass ich bisher noch gar nicht in Lazarus mit Datenbanken gearbeitet habe. So viele Komponenten...
  • Data Acess - TDataSource, TMemDataSet, TSDFDataSet, TFixedFormat,...
  • DataControls,....
  • TSQLite3Connection
  • ...
Ich blicke überhaupt nicht durch WAS für Komponenten ich verwenden muss und in WELCHER Reihenfolge ich diese brauche und WIE ich diese miteinander verbinde und wie ich dann die Abfrage durchführe.
Zu guter letzt stellt sich mir auch noch die Frage in welcher Komponente ich das am besten anzeige.

Ihr merkt - es fehlt an allen Ecken und Enden.
Ich wäre sehr froh, wenn mir jemand auf die Sprünge helfen könnte. Vielen Dank.

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: SQLite3 Datenbank

Beitrag von Christian »

Die 582917357292 delphi Datzenbank Tuturials im Netz helfen gar nicht ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Re: SQLite3 Datenbank

Beitrag von bembulak »

Nein, zumindest nicht die ersten 582917357288, die ich gelesen habe.
Sonst würde ich ja nicht euch fragen...

Cocky
Beiträge: 46
Registriert: Sa 15. Nov 2008, 13:17

Re: SQLite3 Datenbank

Beitrag von Cocky »

Christian hat geschrieben:Die 582917357292 delphi Datzenbank Tuturials im Netz helfen gar nicht ?
*hüstel* & *räusper* ... nun äääh ... 1 Tutorial, daß halbwegs 1:1 auf die Arbeit mit Lazarus übertragbar wäre, würde es evtl. schon tun ! ;)

Ich steh da im Moment vor ganz ähnlichen Problemen. Zwar mit Zeos + SQlite aber doch ziemlich ähnlich. Ich versuchs jetzt seit 3 Tagen, bekomm die Infos mit googlen und suchen in entsprechenden Foren nur bröckchenweise zusammen. Ist schon frustrierend, wenn man nach 3 Tagen immer noch nicht 100% weiß, wie man z.B. eine TDBComboBox o.ä. am effizientesten füllt. (muß ich z.B. per schleife + .AddItem jedes einzelne zufügen oder geht das irgendwie mit einer einzelnen Zuweisung über "Items" im Objektinspektor ?? nur mal so als Beispiel).

@ bembulak ... vielleicht hilfts wenn Du Dir das: http://lazarus-ccr.sourceforge.net/docs ... trols.html" onclick="window.open(this.href);return false; mal durchliest.

Newbiegrüße

Cocky

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: SQLite3 Datenbank

Beitrag von mse »

Cocky hat geschrieben: *hüstel* & *räusper* ... nun äääh ...
Falls ihr mit MSEide+MSEgui statt mit Lazarus arbeiten möchtet, könnt ihr die Fragen im MSEide+MSEgui Unterforum stellen. Ich habe Verständniss dafür, dass das Arbeiten mit SQLDB am Anfang sehr seltsam anmutet.

Martin

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: SQLite3 Datenbank

Beitrag von Christian »

Also das ist nun wirklich ne Ausrede. Du kannst jedes Delphi Tuturial 1:1 auf Lazarus anwenden die Komponenten und Eigenschaften sind alle kompatibel.

http://www.delphi-treff.de/tutorials/datenbanken/

Schau dir das mal an. Wenn du speziellere Fragen hast kann man die gern beantworten.
wenn man nach 3 Tagen immer noch nicht 100% weiß, wie man z.B. eine TDBComboBox o.ä. am effizientesten füllt. (muß ich z.B. per schleife + .AddItem jedes einzelne zufügen oder geht das irgendwie mit einer einzelnen Zuweisung über "Items" im Objektinspektor ?? nur mal so als Beispiel).
Das kommt doch ganz auf deine Anforderungen an. Und woher die vorzubelegenmden werte kommen.
Im einfachsten fall trägt man die Werte einfach im OI ein.
Wenn die werte zur laufzeit aus irgendwelchen Tabellen/Dateien/Variablen haben will kann man die entsprechenden anderen Eigenschaften nehmen (Items.Add, Items.LoadfromFile, Items.Assign)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Cocky
Beiträge: 46
Registriert: Sa 15. Nov 2008, 13:17

Re: SQLite3 Datenbank

Beitrag von Cocky »

Zu 100% 1:1 anwendbar sind die Delphi Tutorials glaub ich leider nicht. Fängt ja schon beim TTable Objekt an, für daß es in Lazarus / FPC glaub ich so nicht gibt. Aber ich werd das trotzdem mal komplett durchlesen und versuchen mir Infos rauszuziehen.

Zu meinem aktuellen konkreten Problem: Ich möchte die Inhalte einer bestimmten Spalte aus einer Tabelle in ein TComboBox bzw. TDBComboBox einlesen. Klappt ja auch mit einer Schleife, die für jeden Datensatz ein Item hinzu fügt. Allerdings frage ich mich, ob es da nicht eine elegantere Variante für gibt ?! Und das aus der vorhandenen Doku bzw. den Vorhandenen DB Beispielen (z.B. Adressbook) herauszufinden ist nicht ganz einfach. :roll:

LG Cocky

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: SQLite3 Datenbank

Beitrag von monta »

Also ich persönlich fand http://seegernet.de.ms/Delphi/ZEOS/ZEOS.htm" onclick="window.open(this.href);return false; sehr hilfriech, damals zwar noch mit D3 aber da Zeos hauptsächlich behandelt wird, sehr gut zu übertragen.

TDBComboBox füllt sich doch selbst ;)

Datasource auf das Dataset einstellen, welches die Daten liefert, bspw. die Query, dann TDBComboBox auf die Datasource einstellen und den Spaltennamen eingeben, fertig. Dafür sind ja die Datensensitiven Komponenten, damit man nicht alles zuweisen muss, wenn es dem Inhalt der DB entspricht.


//Quatsch, TDBComboBox macht ja das Gegenteil, füllt sich nicht, sondern schreibt die Daten zurück, sorry.

(Und nicht in jedem Thread auf mse hinweisen...sonst sagt der nächste, wenn du es nicht übertragen kannst, nimm Delphi oder programmier C usw ;) )
Johannes

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: SQLite3 Datenbank

Beitrag von knight »

Cocky hat geschrieben: Ich möchte die Inhalte einer bestimmten Spalte aus einer Tabelle in ein TComboBox bzw. TDBComboBox einlesen.

LG Cocky
Ich wüßte nicht, daß diese beiden Komponenten unter Lazarus anders funktionieren als unter Delphi. Unterschiede gibt es natürlich bei den Zugriffskomponenten. Aber wer z.B. mit Zeos arbeitet, muß sich da auch nicht weiter umstellen.
monta hat geschrieben:
(Und nicht in jedem Thread auf mse hinweisen...
:) :) :)

knight

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: SQLite3 Datenbank

Beitrag von Christian »

Da gibt es doch keine Unterschiede ?!
Die Datensensitiven Komponenten arbeiten unter Lazarus wie unter Delphi.
TTable ist eine BDE Komponente da es unter Lazarus glücklicherwese keine BDE gibt gibt es keine TTable.
Aber zeos hat ein sehr ähnliches Objekt welches quasi ein TTable simuliert. Effizienter ist unter Delphi wie Lazarus ein Query zu benutzen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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: SQLite3 Datenbank

Beitrag von Christian »

Ach klar, das DBase Dataset verhält sich auch 1:1 wie TTable.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10862
Registriert: Mo 11. Sep 2006, 19:01

Re: SQLite3 Datenbank

Beitrag von theo »

monta hat geschrieben: (Und nicht in jedem Thread auf mse hinweisen...sonst sagt der nächste, wenn du es nicht übertragen kannst, nimm Delphi oder programmier C usw ;) )
Ja, das finde ich auch nervig. Und zwar ganz allgemein. Ich reg mich sogar auf, wenn Lazarus Anhänger (nicht aus diesem Forum) in den Codegear Newsgroups für Lazarus werben. Ich finde das unanständig.

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: SQLite3 Datenbank

Beitrag von Christian »

zustimm
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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: SQLite3 Datenbank

Beitrag von mse »

Ich möchte bembulak und Cocky in Schutz nehmen.
Die SQLDB Komponentensammlung ist wirklich etwas speziell und nicht auf Anhieb zu durchblicken. Bitte vergesst nicht, dass Delphi keine exakte Entsprechung hat.
TSQLiteConnection wurde übrigens ursprünglich von mir entwickelt und vom FPC Team übernommen.
Da ich Lazarus zu wenig genau kenne und halbwahre Auskünfte schlechter sind als gar keine, mein Hinweis auf das Unterforum, wo ich anhand eines mir bestens bekannten Systems kompetente Auskünfte erteilen kann.
Falls euch das nervt, kann ich gerne verstummen.

Martin

Benutzeravatar
theo
Beiträge: 10862
Registriert: Mo 11. Sep 2006, 19:01

Re: SQLite3 Datenbank

Beitrag von theo »

mse hat geschrieben: Falls euch das nervt, kann ich gerne verstummen.
Deine Beiträge sind sehr wertvoll, nur die andauernde Werbung für andere Systeme hat hier nichts zu suchen.
Ich bin da unparteiisch. Ich fände es genauso störend, wenn im MSEGUI Unter-Forum wiederholt für Lazarus oder Delphi oder Visual Studio etc. geworben würde.

Antworten