TSQLite3Connection/fr

From Free Pascal wiki
Jump to: navigation, search

English (en) français (fr) 日本語 (ja)

Portail de la base de données

Références:

Tutoriels/articles pratiques :

Bases de données

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos
Note-icon.png

Remarque: Au lieu d'utiliser un TMySQLite3Connection, un simili-proxy TSQLConnector peut être utilisé pour créer des applications de bases de données plus génériques.

TSQLite3Connection tsqlite3connection.png est le composant de connexion pour l'utilisation de SQLite. Le composant se trouve dans l'onglet SQLdb de la palette de composants.

TSQLite3connection est un composant, non visuel de la FCL et non pas de la LCL, ce qui veut dire qu'il peut être aussi utilisé dans des applications TSQLite3connection console p.ex.tout comme dans les applications Lazarus avec IHM. Malheureusement il n'y a pas de docs FCL sur TSQLite3Connection mais son interface est similaire à son parent (TSQLConnection). Comme SQLite est est une base de données embarquée (i.e. sans serveur), son utilisation peut ne pas demander de définir .host, .username ni .password. L'exemple ci-dessous illustre la façon de l'utiliser dans un programme ObjectPascal, utilisé dans Lazarus un réglage similaire peut etre réalisé dans l'inspecteur d'objet.

program BasicDBase;
{$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif}
uses
  sqldb, sqlite3conn;
var
    Connect : TSQLite3Connection;
    Trans : TSQLTransaction;
 
begin
    Connect := TSQLite3Connection.Create(nil);
    try
      Trans := TSQLTransaction.Create(Connect);
      try
        Connect.Transaction := Trans;
        Connect.DatabaseName := 'test_dbase';
        Trans.StartTransaction;  // opens Connect, EInOutError if SQLite not installed
          try
            Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));');         
            Trans.Commit;
          except
            Trans.Rollback;
            raise;
          end;
        finally
          Trans.Free;
        end;
    finally
      Connect.Free;
    end;
end.

La procédure ExecuteDirect() est un moyen clairement limité pour appeler SQL dans une application réelle, vous aurez besoin de quelque chose comme TSQLQuery.

Voir aussi