Hier mal ein Muster, wie ich auf SQLite zugreife, ohne Komponenten zu nutzen. Ich verwende den Wrapper hier aus dem Forum, und natürlich die passende
dll dazu.
Schnippsel für die Verbindung zur
DB:
Delphi-Quellcode:
var
db : TSQLiteDatabase;
INITIALIZTATION
db := TSQLiteDatabase.Create('
C:\db\meinedb.sql3');
FINALIZATION
db.free
Das in eine globale
Unit gepackt, baut dir die Verbindung zu 'meinedb.sql3' auf.
Schnippsel zum lesen von Daten aus einer Tabelle:
Delphi-Quellcode:
Procedure Liesmich;
var
query : TSQlitequery;
begin
q :=
db.query('
SELECT * FROM MyTable order by name');
if (q.next)
then
begin
repeat
if (
not q.EOF)
then
begin
//Map die Daten zu den Feldern deiner Form
edid.text := IntToStr(q.ColumnByName['
id'].AsInteger);
edname.text := q.ColumnByName['
name'].AsString;
end;
until (
not q.next);
end;
q.free;
end;
Schnippsel zum Schreiben von Daten in die Tabelle
Delphi-Quellcode:
Procedure SchreibMich;
var
cmd : TSQLitecommand;
begin
cmd :=
db.Command('
INSERT INTO MyTable (id,name) VALUES (:id,:name);');
cmd.BindingByName['
:id'].AsInteger := 1234;
cmd.BindingByName['
:name'].AsString := '
Mein neuer Name';
cmd.execute;
cmd.free;
end;
Ich persönlich schreib mir entsprechende Klassen, die mir das ganze Datenhandling übernehmen und entsprechende Funktionen bieten, so das Daten und UI voneinander getrennt sind. Kleiner Nachteil dabei ist, das ich die entsprechende Daten auch "per Hand" zu UI schaufeln muss, aber das stört mich
nicht wirklich und bietet auf der andere Seite die Möglichkeit, beliebige Komponenten für die UI zu verwenden (auch z.B. einen Treeview).