AutoCommit für SQLite
AutoCommit für SQLite
Hallo zusammen,
ich habe, wie auf dem Screenshot zu sehen, eine SQLIte DB eingebunden und die Datensätze bis zum DBGrid durchgeschleust. Ich kann aber mit dem DBNavigator keine Datensätze einfügen, löschen oder ändern. Man sagte mir, dass da wohl ein AutoCommit fehlen würde, aber diesen habe ich aktiviert, nur das Einfügen, Ändern oder Löschen ist trotzdem nicht möglich. Was mache ich falsch?
Vielen Dank!
ich habe, wie auf dem Screenshot zu sehen, eine SQLIte DB eingebunden und die Datensätze bis zum DBGrid durchgeschleust. Ich kann aber mit dem DBNavigator keine Datensätze einfügen, löschen oder ändern. Man sagte mir, dass da wohl ein AutoCommit fehlen würde, aber diesen habe ich aktiviert, nur das Einfügen, Ändern oder Löschen ist trotzdem nicht möglich. Was mache ich falsch?
Vielen Dank!
- Dateianhänge
-
- SQLite.PNG (115.63 KiB) 2263 mal betrachtet
-
- Beiträge: 1063
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: AutoCommit für SQLite
Ohne ein kleines Beispielprojekt wird da kaum jemand etwas valides sagen können.Lion hat geschrieben: Fr 6. Aug 2021, 09:47 Ich kann aber mit dem DBNavigator keine Datensätze einfügen, löschen oder ändern.
Nur weil ich selber gern in solche Fallen laufe: Hast du dem Navigator den korrekten Datasource zugeordnet?
Re: AutoCommit für SQLite
Grüße Dich,charlytango hat geschrieben: Fr 6. Aug 2021, 11:29Ohne ein kleines Beispielprojekt wird da kaum jemand etwas valides sagen können.Lion hat geschrieben: Fr 6. Aug 2021, 09:47 Ich kann aber mit dem DBNavigator keine Datensätze einfügen, löschen oder ändern.
Nur weil ich selber gern in solche Fallen laufe: Hast du dem Navigator den korrekten Datasource zugeordnet?
ja, dem Navigator wurde die korrekte Datasource zugeordnet. Im Anhang befindet sich das Projekt.
Gruß
- Dateianhänge
-
PC-DB.zip
- (859.35 KiB) 102-mal heruntergeladen
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1647
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: AutoCommit für SQLite
Ich hab das eben mal schnell zusammengeklickt. Bei mir funktioniert es, unabhängig von der Option sqoAutoCommit, wie erwartet.
Wenn ich SQLQuery.ReadOnly auf true setze, kann ich auch nichts einfügen aber dann auch nicht editieren.
Wenn ich SQLQuery.ReadOnly auf true setze, kann ich auch nichts einfügen aber dann auch nicht editieren.
Re: AutoCommit für SQLite
Ja... komisch, bei mir geht's nicht. Kannst Du mir Dein Projekt schicken?fliegermichl hat geschrieben: Fr 6. Aug 2021, 11:56 Ich hab das eben mal schnell zusammengeklickt. Bei mir funktioniert es, unabhängig von der Option sqoAutoCommit, wie erwartet.
Wenn ich SQLQuery.ReadOnly auf true setze, kann ich auch nichts einfügen aber dann auch nicht editieren.

- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1647
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: AutoCommit für SQLite
Wenn ich dein Projekt öffnen will, geht Lazarus in eine Endlosschleife (Lazarus Trunk 2.3.0 mit FPC Trunk 3.3.1)
- Dateianhänge
-
GridTestProjekt.zip
- Mein Testprojekt
- (985.03 KiB) 110-mal heruntergeladen
Re: AutoCommit für SQLite
Vielen Dank! Aber leider kann ich das nicht öffnen, da Lazarus 2.0.12 habe. Ich suche dann nach einem anderen Weg.fliegermichl hat geschrieben: Fr 6. Aug 2021, 12:36 Wenn ich dein Projekt öffnen will, geht Lazarus in eine Endlosschleife (Lazarus Trunk 2.3.0 mit FPC Trunk 3.3.1)
- af0815
- Lazarusforum e. V.
- Beiträge: 6785
- 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: AutoCommit für SQLite
Bin nicht am PC.
Damit eine Datenmenge geändert werden kann, muss die Query auch wissen was der Primäre Schlüssel ist. Der Hintergrund ist, das die Query versucht die richtigen Insert, Update und Delete Statement zu erstellen (oder erraten). Das geht aber nur dann, wenn der primäre Schlüssel gefunden wird.
Damit eine Datenmenge geändert werden kann, muss die Query auch wissen was der Primäre Schlüssel ist. Der Hintergrund ist, das die Query versucht die richtigen Insert, Update und Delete Statement zu erstellen (oder erraten). Das geht aber nur dann, wenn der primäre Schlüssel gefunden wird.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).