Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [SQLite] Wert eines Feldes ermitteln (https://www.delphipraxis.net/182741-%5Bsqlite%5D-wert-eines-feldes-ermitteln.html)

ByTheTime 13. Nov 2014 23:39


[SQLite] Wert eines Feldes ermitteln
 
Moin,
ich experimentiere im Moment ein bisschen mit SQLite und FireDAC. Eine SQLite-DB öffnen, Table erstellen, mit Daten füllen und das ganze in einem Grid anzeigen ist unproblematisch, allerdings würde ich die Werte gerne in einem bzw. mehreren Edit Feldern anzeigen. Wie mache ich das.
Wenn ich den Inhalt eines Feldes einer MyBase Tabelle (TClientDataSet) in einem Edit anzeigen möchte geht das ja so:

Delphi-Quellcode:
Edit1.Text := ClientDataSet1Name.AsString;
// oder
Edit1.Text := ClientDataSet1.Fields[0].AsString;
// oder
Edit1.Text := ClientDataSet1.FieldsByName("Name").AsString;

// Ist ein Freetype, also bitte nicht meckern wenn was nicht stimmt, geht ja eh nur ums veranschaulichen ;)
Aber wie kriege ich das mit FireDAC und SQLite hin?
In meiner kleinen Demo Anwendung (FMX) habe ich das Grid übrigens mit den LiveBindings mit der FDQuery verbunden. Vllt. geht das ja auch mit einem Edit Feld, aber hinbekommen habe ich das bis jetzt noch nicht :gruebel:

Gruß,
Lukas

himitsu 13. Nov 2014 23:57

AW: [SQLite] Wert eines Felders ermitteln
 
Zitat:

Zitat von ByTheTime (Beitrag 1279732)
Delphi-Quellcode:
Edit1.Text := ClientDataSet1Name.AsString;
// oder
Edit1.Text := ClientDataSet1.Fields[0].AsString;
// oder
Edit1.Text := ClientDataSet1.FieldsByName("Name").AsString;

In der VCL?
Warum kein DBEdit?

Zitat:

Zitat von ByTheTime (Beitrag 1279732)
In meiner kleinen Demo Anwendung (FMX) habe ich das Grid übrigens mit den LiveBindings mit der FDQuery verbunden. Vllt. geht das ja auch mit einem Edit Feld, aber hinbekommen habe ich das bis jetzt noch nicht :gruebel:

Ähhhhhh? :gruebel:
  • im Feld-Editor des FDQuery die Felder erstellen
  • Edit an Feld im Query binden (Grid an *, da mehrere/alle Felder)
  • fertig

ByTheTime 14. Nov 2014 00:36

AW: [SQLite] Wert eines Felders ermitteln
 
Zitat:

Zitat von himitsu (Beitrag 1279734)
In der VCL?
Warum kein DBEdit?

FMX ;)

Zitat:

Zitat von himitsu (Beitrag 1279734)
Ähhhhhh? :gruebel:
  • im Feld-Editor des FDQuery die Felder erstellen
  • Edit an Feld im Query binden (Grid an *, da mehrere/alle Felder)
  • fertig

Sorry, habe vergessen zu erwähnen das ich die Felder zur Laufzeit erstelle. Das mit dem Grid hat funktioniert, einfach die Steren (*) verbinden :P
Wenn ich eine DB lade werden die von mir erstellten Felder (in der FDQuery) ja eh überschrieben. Daher die Frage, ob das mit den LiveBindings überhaupt geht.

ByTheTime 14. Nov 2014 14:00

AW: [SQLite] Wert eines Feldes ermitteln
 
Ich muss mich entschuldigen, was ich geschrieben habe ist ja völliger Matsch.

Zitat:

Zitat von himitsu (Beitrag 1279734)
Ähhhhhh? :gruebel:

Das trifft es ziemlich gut :oops: Keine Ahnung wie ich auf die Idee gekommen bin das mit den LiveBindings zu machen, wenn es auch so geht:

Delphi-Quellcode:
Edit1.Text := FDQuery1.Fields[0].AsString;
:wall::wall::wall::wall::wall:

War wohl schon etwas spät :stupid:

himitsu 14. Nov 2014 15:53

AW: [SQLite] Wert eines Feldes ermitteln
 
Man kann die LiveBindings auch zur Laufzeit zuweisen, wenn dann der Feldname bekannt ist.

ByTheTime 14. Nov 2014 19:12

AW: [SQLite] Wert eines Felders ermitteln
 
Ja stimmt, würde gehen, aber es ging mir eher darum Code zu sparen ^^ Die Feld Namen sind zur Laufzeit zwar bekannt, aber da ist mir sogar noch ein Nachteil aufgefallen: Ich kann nicht kontrollieren, was in den Feldern landet, bzw. was im Edit Feld steht kommt direkt in die DB, ohne das ich bestimmte Dinge rausfiltern könnte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz