Tutoriel : Utilisation de TSQLMonitor avec une connexion ODBC

De RAD Studio
Aller à : navigation, rechercher

Remonter à Tutoriels Bases de données et LiveBindings


TSQLMonitor offre un support pour les connexions ODBC.

Le tutoriel suivant montre comment TSQLMonitor peut être utilisé avec une connexion ODBC. ODBC établit une connexion à une base de données Interbase. 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

Créer la connexion à la source de données ODBC

  1. Créez une source de données ODBC. Pour de plus amples informations, voir : Documentation Microsoft.
  2. Depuis l'explorateur de données, cliquez avec le bouton droit sur Odbc et sélectionnez Ajouter une nouvelle connexion.
AddNewConnection.png
3. Sélectionnez un nom pour la nouvelle connexion et cliquez sur OK. Dans cet exemple, nous utiliserons ODBCINTERBASECONNECTION.
4. Cliquez avec le bouton droit sur la connexion nouvellement créée, et sélectionnez Modifier. Définissez le champ Database sur le nom de la source de données créée par l'administrateur de sources de données ODBC, et les informations d'identification requises pour la connexion à la base de données.
ModifyConn.png
5. Cliquez sur Tester la connexion. Si les connexions ont été correctement définies, une boîte de dialogue indiquant Test de la connexion réussi doit s'afficher.

L'application

  1. Sélectionnez Fichier > Nouveau > Application Fiches VCL - Delphi.
  2. Ajoutez les contrôles suivants à la fiche : un TSQLConnection, un TSQLMonitor et un TButton.
  3. Ajoutez le code suivant au gestionnaire d'événements OnClick du contrôle TButton :
 procedure TForm2.Button1Click(Sender: TObject);
 begin
   try
     Connect;
     SQLMonitor1.SQLConnection := SQLConnection1;
     // Activate the Monitor
     SQLMonitor1.Active := True;
     ExecuteQueries;
     // Write the trace list of the TSQLMonitor to a file on disk
     SQLMonitor1.SaveToFile('D:\\Log.txt');
   except
     on E: Exception do
       ShowMessage('Exception raised with message: ' + E.Message);
   end;
 end;

Voici le code des fonctions appelées dans le gestionnaire d'événements OnClick du contrôle TButton :

 // establishes the connection to the ODBC datasource
 procedure TForm2.Connect;
 begin
   SQLConnection1 := TSQLConnection.Create(nil);
   // the name of the connection created in the data explorer
   SQLConnection1.ConnectionName := 'odbcinterbaseconnection';
   SQLConnection1.LoginPrompt := False;
   SQLConnection1.LoadParamsOnConnect := True;
   SQLConnection1.Connected := True;
 end;
 
 // Executes several queries on the database.
 procedure TForm2.ExecuteQueries;
 var
   Query: String;
 begin
   try
     if SQLConnection1.Connected then
     begin
       Query := 'CREATE TABLE ExampleTable(id INTEGER, name VARCHAR(50))';
       SQLConnection1.Execute(Query, nil);
       Query := 'INSERT INTO ExampleTable VALUES(1,''test1'')';
       SQLConnection1.Execute(Query, nil);
       Query := 'INSERT INTO ExampleTable VALUES(2,''test2'')';
       SQLConnection1.Execute(Query, nil);
       Query := 'INSERT INTO ExampleTable VALUES(3,''test3'')';
       SQLConnection1.Execute(Query, nil);
       Query := 'SELECT * FROM ExampleTable';
       SQLConnection1.Execute(Query, nil);
     end;
   except
     on E: Exception do
       ShowMessage('Exception raised with message: ' + E.Message);
   end;
 end;

Voir aussi