Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Übungsprogramm Lagerverwaltung

  Alt 14. Mär 2017, 06:08
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).
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat