Einzelnen Beitrag anzeigen

schand99

Registriert seit: 7. Nov 2013
Ort: Südtirol
43 Beiträge
 
Delphi XE8 Enterprise
 
#1

Delphi XE6 und SQLite

  Alt 4. Feb 2015, 09:55
Datenbank: SQLite • Version: 3 • Zugriff über: TSQLConnection
Hallo,

bin noch ziemlich neu in Delphi und habe noch einige Schwierigkeiten mit Sachen die vielleicht für andere ganz einfach erscheinen. Zur Zeit versuche ich eine SQLite Datenbank zu erstellen (klappt), Daten einzutragen (klappt) und die Daten auszulesen (klappt nicht). In einem anderen Delphi-Forum habe ich ein kleines Tutorial über den Umgang mit SQLite gefunden. Das Tutorial ist für XE3, da nicht alles funktioniert wie beschrieben vermute ich dass es da doch ein paar kleine Unterschiede zwischen XE3 und XE6 gibt. Die vielen Versionen der Entwicklungsumgebung sind generell ein kleines Problem. Embarcadero wirft meiner Meinung nach viel zu oft neue Versionen auf den Markt.
Natürlich benutze ich auch die Delphi-Hilfe und Google in der Hoffnung irgendwo auf einen nützlichen Hinweis zu finden..

Hier ein kurzer Quellcode der mir nun schon ein paar Tage Kopfzerbrechen bereitet:

Delphi-Quellcode:
 Var
 SQLBefehl, Rg:String;
 DatenSatz:TDataSet;
 N: Integer;
begin
 Try
   SQLConnection.Connected:=False;
   SQLConnection.Params.Values['Database']:='C:\CD-Copy\SQLite.db';
   SQLCOnnection.Params.Values['FailIfMissing']:='False';
   SQLConnection.Connected:=True;
   SQLBefehl:='CREATE TABLE Fahrzeuge (MeinID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, Marke VARCHAR(100), Modell VARCHAR(100));';
   SQLConnection.ExecuteDirect(SQLBefehl);
   SQLBefehl:='INSERT INTO Fahrzeuge (MeinID, Marke, Modell) VALUES (NULL, "Fiat", "Punto");';
   SQLConnection.ExecuteDirect(SQLBefehl);
   SQLBefehl:='SELECT * FROM Fahrzeuge;';
   SQLConnection.Execute(SQLBefehl,NIL, DatenSatz);
   DatenSatz.First;
   while NOT Datensatz.Bof do
   Begin
     Rg:='';
     for N := 0 to DatenSatz.FieldCount-1 do
       Rg:=Rg+' '+DatenSatz.Fields[N].AsString;
     ShowMessage(Rg);
     DatenSatz.Next;
   End;
 Except
   On E: EDataBaseError Do Showmessage(E.Message);
 End;
Läuft übrigens fehlerfrei durch, nur dass keine Daten aus der Datenbank gelesen werden stört ungeheuerlich

Bin für alle Tipps welche mir helfen könnten eine Messagebox mit Inhalten aus der Datenbank zu erzeugen dankbar

Geändert von schand99 ( 4. Feb 2015 um 10:03 Uhr)
  Mit Zitat antworten Zitat