Tutoriel : Support TSQLMonitor pour les bases de données SQLite

De RAD Studio
Aller à : navigation, rechercher

Remonter à Tutoriels Bases de données et LiveBindings


Dans RAD Studio XE3, TSQLMonitor offre un support pour les bases de données SQLite.

Le tutoriel suivant montre comment TSQLMonitor peut être utilisé avec une base de données SQLite. L'exemple est une application Fiche VCL qui contient 3 contrôles : TSQLConnection, TSQLMonitor et TButton. Quand le bouton est cliqué, une table est créée et est remplie par des données, puis une requête select simple est exécutée. Enfin, le TraceList du TSQLMonitor est enregistré dans un fichier sur le disque.

Etapes

  1. Sélectionnez Fichier > Nouveau > Application Fiches VCL - Delphi.
  2. Ajoutez les contrôles suivants à la fiche : TSQLConnection, TSQLMonitor et un TButton.
  3. Dans l'inspecteur d'objets :
  4. Ajoutez l'extrait de code suivant au gestionnaire d'événements OnClick du contrôle TButton :
 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;

Voici le code de la procédure 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;

Voir aussi