Daten ohne Datenbankkomponenten aus SQLite Datenbank lesen
Daten ohne Datenbankkomponenten aus SQLite Datenbank lesen
Hallo,
wie komme ich an die Daten einer SQLite DB ran, ohne die Datenbankkomponenten (TDBImage, TDBEdit, ..etc.) zu verwenden? In der Wiki steht leider nur die Verwendung genau dieser Komponenten.
Mit der Verwendung von TSqlite3dataset.SQL könnte ich einfach die Daten in Form von 'SELECT * FROM tablexy'. Aber auch da stellt sich mir wieder die Frage, wie kriege ich die einzelnen Daten?
wie komme ich an die Daten einer SQLite DB ran, ohne die Datenbankkomponenten (TDBImage, TDBEdit, ..etc.) zu verwenden? In der Wiki steht leider nur die Verwendung genau dieser Komponenten.
Mit der Verwendung von TSqlite3dataset.SQL könnte ich einfach die Daten in Form von 'SELECT * FROM tablexy'. Aber auch da stellt sich mir wieder die Frage, wie kriege ich die einzelnen Daten?
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Ich habe leider nicht mehr genau die Funktionen im Kopf die gehen, aber du könntest hier mal suchen:
http://www.delphipraxis.net/forum_main.html" onclick="window.open(this.href);return false;
ich meine da sollte was dazu stehen, wenn du glück hast kannst du das so auch in Lazarus verwenden.
Verwende doch ein TDataGrid... und verbinde sie entsprechend.
http://www.delphipraxis.net/forum_main.html" onclick="window.open(this.href);return false;
ich meine da sollte was dazu stehen, wenn du glück hast kannst du das so auch in Lazarus verwenden.
Verwende doch ein TDataGrid... und verbinde sie entsprechend.
MFG
Michael Springwald
Michael Springwald
das was ich suche habe ich dort auch nicht gefunden. Ich möchte lieber direkt mit SQL Queries arbeiten statt Datenbankkomponenten zu verwenden, weil ich um die Datenbankkomponenten richtig verwenden zu können, ich mich erst Wochen-/Monatelang einarbeiten müsste. Die Zeit verbringe ich lieber damit schon effektiv zu programmieren.
- af0815
- Lazarusforum e. V.
- Beiträge: 6764
- 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:
Ev. mal die Beispiele von LazInfo/LazSnippets oder andere Quellen ansehen.
Normalerweise, wennst nichts siehtst dann hast du eh Probleme mit den Einstellungen in der entsprechenden Datasetkomponente. Und nicht mit den Anzeigekomponenten.
Ausserdem finde ich es besser zuerst die Basics zu kennen (ein wenig Einarbeiten) und dann erst wild zu klicken. Meine Meinung ist, man kann nur effektiv sein, wenn man die Komponenten kennt und weis was man tut. [Das ist meine Meinung und keine direkte Kritik]
Normalerweise, wennst nichts siehtst dann hast du eh Probleme mit den Einstellungen in der entsprechenden Datasetkomponente. Und nicht mit den Anzeigekomponenten.
Ausserdem finde ich es besser zuerst die Basics zu kennen (ein wenig Einarbeiten) und dann erst wild zu klicken. Meine Meinung ist, man kann nur effektiv sein, wenn man die Komponenten kennt und weis was man tut. [Das ist meine Meinung und keine direkte Kritik]
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
aber in meinem Programm soll ja auch etwas mehr geschehen als das. Bilder, Strings, Texte, StringListen auf verschiedene Komponenten und auch nicht nur einzelne Datensätze sondern mehrere gleichzeitig dargestellt, aber nicht in einer Tabelle sondern in unter einander erscheinenden Panels. Mag sein dass, das mit den vorgefertigten Komponenten auch alles geht, möglichweise liegt auch daran dass ich noch kein vernünftiges Tutorial gefunden habe. Werde mal schauen was LazSnippets zu bieten hat.Christian hat geschrieben:Wiso musst du dich da Wochen/ Monatelang einarbeiten ?
Einfach z.b. ein TDBEdit auf die Form, Fieldname und DataSource gesetzt und schon läufts.
- af0815
- Lazarusforum e. V.
- Beiträge: 6764
- 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:
Schon mal mit einer Query probiert und dort zur Laufzeit mit FieldByName("Feldname").AsXXXX die Felder geholt ? Bzw. die Fieldseigenschaft der Query betrachtet ?
Übrigends sind nicht nur Tutorials interessant, sonden man kann sich viel ansehen direkt im Quellcode.
Übrigends sind nicht nur Tutorials interessant, sonden man kann sich viel ansehen direkt im Quellcode.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
@skfink
das was du vorhast sollte mit SQL-Lite gehen, ich habe das unter Delphi genommen weil es nicht anders gab bzw. ich nix anders gefunden habe für meine Delphi Version.
Ich müsste erstmal meine Sicherungen durchsuchen, ob ich da noch ein "Altes" Projekt finde. Evlt. hilft das ja, ich meine auch das SQL-Lite noch einige Fehler hat in Lazarus, welche weiß ich im Moment nicht mehr genau.
Du kannst aber ruhig die Komponenten nehmen. Du verbindest sie dann halt nicht mit Datenbank Komponenten. In Lazarus wird soviel wie ich davon noch weiß, die Einträge einer Tabelle in einem Array abgelegt.
Aber auch hier müsste ich erst nachschauen, wie das noch ging. Ich hatte in der Wiki Von Lazarus auch ein Tutorial gefunden.
das was du vorhast sollte mit SQL-Lite gehen, ich habe das unter Delphi genommen weil es nicht anders gab bzw. ich nix anders gefunden habe für meine Delphi Version.
Ich müsste erstmal meine Sicherungen durchsuchen, ob ich da noch ein "Altes" Projekt finde. Evlt. hilft das ja, ich meine auch das SQL-Lite noch einige Fehler hat in Lazarus, welche weiß ich im Moment nicht mehr genau.
Du kannst aber ruhig die Komponenten nehmen. Du verbindest sie dann halt nicht mit Datenbank Komponenten. In Lazarus wird soviel wie ich davon noch weiß, die Einträge einer Tabelle in einem Array abgelegt.
Aber auch hier müsste ich erst nachschauen, wie das noch ging. Ich hatte in der Wiki Von Lazarus auch ein Tutorial gefunden.
MFG
Michael Springwald
Michael Springwald
wer sich für eine "direkte" Verwendung der SQL Befehle mit SQLite interessiert, dem könnte damit http://www.itwriting.com/sqlitesimple.php geholfen sein.
Ich selbst gebs erstmal auf mit den DB-Geschichten und löse mein Problem mit typisierten Daten und MemoryStream. Zumindest kann ich auf diesem Wege auch problemlos Bilder speichern.
Ich selbst gebs erstmal auf mit den DB-Geschichten und löse mein Problem mit typisierten Daten und MemoryStream. Zumindest kann ich auf diesem Wege auch problemlos Bilder speichern.
- af0815
- Lazarusforum e. V.
- Beiträge: 6764
- 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:
Wenn du ein Beispiel machst, wo GENAU dein Problem ist. Eventuell mit einem Demo, so könnte man dir vielleicht einfacher helfen.skfink hat geschrieben:Ich selbst gebs erstmal auf mit den DB-Geschichten und löse mein Problem mit typisierten Daten und MemoryStream. Zumindest kann ich auf diesem Wege auch problemlos Bilder speichern.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Also um mal zusammenzufassen: Ich habe ein Datasource das meine Datenbank darstellt und ein Dataset pro Tabelle. Aber kann es sein dass man zwingend ein TDBGrid braucht?
Ohne läuft bei mir nix, wenn ich das aber so einstellen will bei in dem sqlite tutorial für fpc geschrieben steht (Tut 1), dann kann ich die Kolonnen die die Namen "Name" und "Email" bekommen sollen gar nicht umbenennen. Wo soll das denn gehn?
Wenn man aus mir unerfindlichen Gründen das TDBGrid unbedingt braucht, könnte ich es auch einfach auf invisible stellen, aber trotzdem keine saubere Sache.
So wie ich das verstanden habe, kann man ja immer nur auf die Felder zugreifen an dessen Datensatz man grade "ist". Also muss ich mit First, Next etc erst zu dem gewünschten Datensatz navigieren bevor ich die Felder lesen oder schreiben kann...aber schon bei First oder Next kriege ich Ausnahmefehler. Gibt es keine Doku dazu die für jede function und procedure von TSQLite3Dataset eine genaue Beschreibung hat?
Ohne läuft bei mir nix, wenn ich das aber so einstellen will bei in dem sqlite tutorial für fpc geschrieben steht (Tut 1), dann kann ich die Kolonnen die die Namen "Name" und "Email" bekommen sollen gar nicht umbenennen. Wo soll das denn gehn?
Wenn man aus mir unerfindlichen Gründen das TDBGrid unbedingt braucht, könnte ich es auch einfach auf invisible stellen, aber trotzdem keine saubere Sache.
So wie ich das verstanden habe, kann man ja immer nur auf die Felder zugreifen an dessen Datensatz man grade "ist". Also muss ich mit First, Next etc erst zu dem gewünschten Datensatz navigieren bevor ich die Felder lesen oder schreiben kann...aber schon bei First oder Next kriege ich Ausnahmefehler. Gibt es keine Doku dazu die für jede function und procedure von TSQLite3Dataset eine genaue Beschreibung hat?
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Du brauchst nicht unbedingt ein DateGrid es geht auch ohne, es ist nur einfacher.
Ich weiß leider im Moment nicht mehr genau wie das geht, aber es geht aufjedenfall.
Du Datenbank Komponenten du du verwendest sollte z.b. eine SQL Eigenschaft haben, dort kannst du dann eine SQL-Anweisung rein schreiben. Ein Query glaube ich war das sollte dann eine liste haben, mit den Einträgen.
Ich habe mal die Datenbank in eine VST(Virtual Tree View) geladen.
Ich glaube wenn du hiermal nach Query suchen würdest, könntest du einiges finden.
Ich weiß leider im Moment nicht mehr genau wie das geht, aber es geht aufjedenfall.
Du Datenbank Komponenten du du verwendest sollte z.b. eine SQL Eigenschaft haben, dort kannst du dann eine SQL-Anweisung rein schreiben. Ein Query glaube ich war das sollte dann eine liste haben, mit den Einträgen.
Ich habe mal die Datenbank in eine VST(Virtual Tree View) geladen.
Ich glaube wenn du hiermal nach Query suchen würdest, könntest du einiges finden.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Im FPC Verzeichnis sollte sich unter
/packages/sqlite/tests
eine kleine Demo befinden
du kannst dir auch das mal ansehen:
http://source.online.free.fr/" onclick="window.open(this.href);return false;
/packages/sqlite/tests
eine kleine Demo befinden
du kannst dir auch das mal ansehen:
http://source.online.free.fr/" onclick="window.open(this.href);return false;
-
- 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:
Du brauchst definitiv kein DBGrid, und Datasource spiegelt keine Datenbank wieder sondern ist eine Abstrakte Schicht um Zugriff auf eine Tabelle zu gewähren. Es gibt tausende Delphi Datenbank Tuturials im Netz, bei deinem Wissensstand würde ich dir dringend empfehlen mal ein-zwei durchzuarbeiten.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/