SQLite TComponent

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
vazili_Zaitzef
Beiträge: 43
Registriert: Do 6. Dez 2012, 21:55
OS, Lazarus, FPC: Win7 64 (L 1.6 FPC 3.0.0)
CPU-Target: 64Bit

SQLite TComponent

Beitrag von vazili_Zaitzef »

Hallo,

ich habe de mal eine Frage.
Ich möchte ein Programm erstellen, welches auf eine Datenbank zugreift. Dies klappt auch ohne weiteres.
Nun möchte ich eine neue Unit erstellen in der ich die ganzen Funktionen zum lesen schreiben etc. zusammen fassen möchte, damit ich diese nicht nich einmal schreiben muss.
Soweit so gut :)

:shock: :shock: :shock: :shock:
Nun möchte ich in den Funktionen und Prozeduren den Namen des Form und den Datenbank namen übergeben.
Für labels kann ich dies. Hier wird TComponent verwendet mit dem Befehl Findcomponent.
Dies klappt auch für die Datenbank doch mir fehlen die Funktionen wie Query1 etc. :?: :?: :?:

Kann mir jemand sagen wie das geht :roll: oder einen Tip :!: geben, wo ich mich schlau machen kann?

Danke und viele Grüße :D :) :lol:
Vazili

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: SQLite TComponent

Beitrag von Michl »

vazili_Zaitzef hat geschrieben:Hier wird TComponent verwendet mit dem Befehl Findcomponent.
Ich suche meine Komponenten auf einem Formular nur im äußersten Notfall. Besser ist es, die Komponenten mit einer Methode zu initialisieren. Oder so übergeben: http://wiki.freepascal.org/Form_Tutorial/de#.C3.9Cbergabe_von_Variablen_in_andere_Formulare

vazili_Zaitzef hat geschrieben:Dies klappt auch für die Datenbank doch mir fehlen die Funktionen wie Query1 etc.
Eine Query ist keine Funktion, sondern eine Klasse bzw. eine Instanz davon.

vazili_Zaitzef hat geschrieben:Kann mir jemand sagen wie das geht :roll: oder einen Tip :!: geben, wo ich mich schlau machen kann?
Wenn dies eine Unit ist, die eine Klasse nur für Datenbankaufgaben bereitstellt, würde ich eine Connection (, Transaction), Query in dieser Klasse deklarieren. Dann kann man in einer (oder mehrerer) Methode(n) die Datenbankkomponenten erstellen und initialisieren, aufgerufen im Constructor oder direkt danach. Ähnlich dem Beispiel in diesem Thread (die Methoden wären dann Methoden der Klasse): http://www.lazarusforum.de/viewtopic.php?f=17&t=9901

Evtl. wäre ein TDataModul in diesem Fall auch eine gute Lösung:
- unter Datei -> Neu ... -> DatenModul ein neues DatenModul erstellen
- die Datenbankkomponenten (Connection (, Transaction), Query etc.) darauf platzieren
- mit dem Designer geht es automatisch, ansonsten in jeder Unit, die eine Verbindung zur Datenbank benötigt, das DatenModul in die Uses-Clause eintragen und nutzen

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

vazili_Zaitzef
Beiträge: 43
Registriert: Do 6. Dez 2012, 21:55
OS, Lazarus, FPC: Win7 64 (L 1.6 FPC 3.0.0)
CPU-Target: 64Bit

Re: SQLite TComponent

Beitrag von vazili_Zaitzef »

Hallo Michl,

das mit dem TDataModul ist genau das, was ich gesucht habe. Vielen vielen Dank dafür.
Damit brauch ich das wirklich nur einmal programmieren und man kann es überall benutzen. Das ist wirklich schön einfach :lol:

Nochmals vielen vielen Danke für die Hilfe :!: :!: :!: :!:

Antworten