Tutorial: TSQLMonitor-Unterstützung für SQLite-Datenbanken

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Tutorials zu Datenbanken und LiveBindings


In RAD Studio XE3 unterstützt TSQLMonitor SQLite-Datenbanken.

Im folgenden Tutorial wird gezeigt, wie TSQLMonitor mit einer SQLite-Datenbank verwendet werden kann. Bei dem Beispiel handelt es sich um eine VCL-Formularanwendung, die 3 Steuerelemente enthält: TSQLConnection, TSQLMonitor und TButton. Wenn auf die Schaltfläche geklickt wird, wird eine Tabelle erstellt und mit Daten gefüllt, und anschließend wird eine einfache SELECT-Abfrage ausgeführt. Zum Schluss wird die TraceList des TSQLMonitor in eine Datei auf dem Datenträger gespeichert.

Schritte

  1. Wählen Sie Datei > Neu > VCL-Formularanwendung - Delphi.
  2. Fügen Sie dem Formular die folgenden Steuerelemente hinzu: TSQLConnection, TSQLMonitor und TButton.
  3. Führen Sie im Objektinspektor Folgendes aus:
  4. Fügen Sie der OnClick-Ereignisbehandlungsroutine des TButton-Steuerelements den folgenden Code hinzu:
procedure TForm1.Button1Click(Sender: TObject);
 var
   Results: TDataSet;
 begin
   // Set the database.
   SQLConnection1.Params.Add('Database=full_path_of_your_sqlite_database');
   try
     // Connect to the database.
     SQLConnection1.Connected := true;
     // Activate the monitor.
     SQLMonitor1.Active := true;
     // Create and populate a table.
     PopulateTable(SQLConnection1);
     SQLConnection1.Execute('SELECT * FROM ExampleTable', nil, Results);
     // Save the trace list to a file on disk.
     SQLMonitor1.SaveToFile('D:\\Log.txt');
   except
     on E: EDatabaseError do
       ShowMessage('Exception raised with message' + E.Message);
   end;
 end;

Im Folgenden finden Sie den Code für die Prozedur PopulateTable:

procedure PopulateTable(Connection: TSQLConnection);
 var
   Query: String;
 begin
   Query := 'CREATE TABLE ExampleTable(id INT, name VARCHAR2(50))';
   try
     Connection.Execute(Query, nil);
     Query := 'INSERT INTO ExampleTable VALUES(1,"test1")';
     Connection.Execute(Query, nil);
     Query := 'INSERT INTO ExampleTable VALUES(2,"test2")';
     Connection.Execute(Query, nil);
     Query := 'INSERT INTO ExampleTable VALUES(3,"test3")';
     Connection.Execute(Query, nil);
   except
     on E: Exception do
       ShowMessage('Exception raised with message: ' + E.Message);
   end;
 end;

Siehe auch