sqlite3 und dbgrid

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
lumpi
Beiträge: 9
Registriert: Di 2. Okt 2007, 16:46

sqlite3 und dbgrid

Beitrag von lumpi »

Gibt es eine Möglichkeit, eine sqlite3 DB (Version 3.4.1) mit einem DBGrid so zu verwenden, das Änderungen sofort in die Datenbank geschrieben werden ?

Irgendwie schaffe ich das bei sqlite3 nicht :(

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:

Beitrag von monta »

Ich nehme an, du nutzt die mitgelieferten SQLDBLaz Kompontnen und greifst übr eine TSQLQuery auf die DB zu?

Dort musst du die UpdateSQL-Property der SQLQuery entsprechend belegen und die Datasource muss sich im editier-Modus befinden. Dann solte es direkt übernohmen werden. habs aber noch nie mit SQLite probiert.
Johannes

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:

Beitrag von Christian »

Um das mal zu vervollständigen, Applyupdates muss noch aufgerufen werden und es muss ein Primary key als Integer vorhanden sein z.b. ein AutoInc feld.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

bei mir wird auch nix hinzugefügt, habe zu dem grid noch einen dbnavigator zugeschaltet und der sollte ja eigentlich bei Post "ApplyUpdates" ausführen oder? Auch wenn man ich die spalten ( jedes einzeln) per DBEdit & DBMemo ersetzte und den Navigator nutze werden die Daten nicht hinzugefügt

ich benutze zum Verbinden ZeosLib, und bei MySQL und SQLite (die einzigen welche ich testen kann) werden keine Daten hinzugefügt/geändert

Die Verbindungen und Dataset sind bei ReadOnly auf false

hoffe jemand kennt ne Lösung :(

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:

Beitrag von Christian »

gibts denn bei ApplyUpdaes irgend nen Fehler ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

ne kein fehler :( gibt es ne demo wo es funktioniert? vllt bei der CCR oder so? denn ich kann mich dran erinnern als ich mit Lazarus angefangen habe , konnte ich die daten im DBGrid und/oder durch einzellne DBEdit's ändern/hinzufügen :(

Edit:
habe jetzt MySQL und SQLite einzeln versucht, und es funktioniert, muss wohl ein Bug von ZeosLib sein :(

dann heißts wohl morgen beim Zeos team nachfragen

Edit2:
anscheinend geht das doch nicht

ist hier bei was falsch?

Code: Alles auswählen

Datasource1.DataSet.Open;
  Datasource1.DataSet.Append;
  DBEdit1.Text:='123'; //auf Datasource1 gesetzt
  DBMemo1.Text:='asdadfasdf'; //auf Datasource1 gesetzt
  Datasource1.DataSet.Post;
  Datasource1.DataSet.Active:=false;
die daten bleiben dann auch in der DBGrid nach einem Refresh, aber nach neustarten des Programms sind die Daten wieder weg, ergo die Daten wurden nicht in der Datenbank gespeichert :(

warscheinlich ist das irgendein anfänger fehler ^^

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
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:

Beitrag von af0815 »

EugenE hat geschrieben:ne kein fehler :( gibt es ne demo wo es funktioniert? vllt bei der CCR oder so?
Versuchs mal mit LazInfos und den LazSnippets - Das eine ist Doku/HowTo das andere die Beipiele dazu.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

kann es sein das TDBGrid und TDBNavigator nicht zusammen arbeiten können?^^

habe mal einfach so die TDBNavigator - Komponente gelöscht, und zack ich konnte die daten speichern , wahnsinn ^^

Antworten