programmazione
sqlite SQLite rappresenta una delle soluzioni più pratiche per aggiungere funzionalità database alle applicazioni Pascal e Lazarus. Grazie alla sua semplicità, alla velocità e all'assenza di configurazioni complesse, è spesso la scelta ideale per sviluppatori principianti ed esperti.
         home page  
 

Come utilizzare SQLite nelle proprie applicazioni Pascal

Pubblicato il: 24-6-2026

Ultima Modifica: 24-6-2026

Come utilizzare SQLite nelle proprie applicazioni Pascal

Introduzione

Quando si sviluppano applicazioni, spesso nasce la necessità di memorizzare dati in modo permanente. Salvare informazioni all'interno di semplici file di testo può andare bene per piccoli progetti, ma quando i dati aumentano è preferibile utilizzare un database.

Una delle soluzioni più semplici e diffuse è SQLite, un database leggero, veloce e completamente gratuito.

La sua caratteristica principale è quella di utilizzare un singolo file per contenere tutte le informazioni del database, senza richiedere l'installazione di un server.

🖼️ Schema di funzionamento

+------------------+
| Applicazione     |
| Pascal/Lazarus   |
+------------------+
          |
          v
+------------------+
| SQLite           |
+------------------+
          |
          v
+------------------+
| archivio.db      |
+------------------+

Cos'è SQLite?

SQLite è un database relazionale integrato nelle applicazioni.

A differenza di MySQL o PostgreSQL:

  • non necessita di un server;

  • utilizza un unico file;

  • è estremamente veloce;

  • è multipiattaforma.

Per questo motivo viene utilizzato in:

  • smartphone Android;

  • browser web;

  • programmi desktop;

  • applicazioni embedded.


🔍 Lo sapevi che?

+----------------------------------------+
| LO SAPEVI CHE?                         |
+----------------------------------------+
| SQLite è probabilmente il database     |
| più utilizzato al mondo. È presente    |
| in miliardi di dispositivi e software. |
+----------------------------------------+

Installare i componenti necessari

In Lazarus, il supporto per SQLite è già disponibile attraverso i componenti SQLDB.

I componenti principali sono:

  • TSQLite3Connection

  • TSQLTransaction

  • TSQLQuery

🖼️ Relazione tra i componenti

TSQLite3Connection
          |
          v
TSQLTransaction
          |
          v
TSQLQuery

Creare una connessione al database

Il primo passo consiste nel creare una connessione.

Esempio:

uses
  SQLite3Conn, SQLDB;

var
  Connessione: TSQLite3Connection;

begin
  Connessione := TSQLite3Connection.Create(nil);

  Connessione.DatabaseName := 'clienti.db';

  Connessione.Open;

  WriteLn('Connessione aperta');

  Connessione.Close;
  Connessione.Free;
end.

In questo esempio viene aperto il database:

clienti.db

Se il file non esiste, SQLite lo crea automaticamente.


💡 Suggerimento

+----------------------------------------+
| SUGGERIMENTO                           |
+----------------------------------------+
| Utilizza nomi significativi per i      |
| database, come clienti.db, ordini.db   |
| o magazzino.db. Sarà più facile        |
| identificarli nel tempo.               |
+----------------------------------------+

Creare una tabella

Dopo aver aperto la connessione possiamo creare una tabella.

Query.SQL.Text :=
  'CREATE TABLE Clienti (' +
  'ID INTEGER PRIMARY KEY,' +
  'Nome TEXT,' +
  'Telefono TEXT)';

La tabella conterrà:

  • ID cliente

  • Nome

  • Telefono

🖼️ Struttura della tabella

+----+-----------+------------+
| ID | Nome      | Telefono   |
+----+-----------+------------+

Inserire dati

Per inserire un record utilizziamo il comando SQL INSERT.

Query.SQL.Text :=
  'INSERT INTO Clienti ' +
  '(Nome, Telefono) ' +
  'VALUES (' +
  '''Mario Rossi'', ' +
  '''3331234567'')';

Query.ExecSQL;

Dopo l'inserimento è necessario confermare le modifiche.

Transazione.Commit;

⚠️ Attenzione

+----------------------------------------+
| ATTENZIONE                             |
+----------------------------------------+
| Se si dimentica di eseguire il Commit, |
| i dati potrebbero non essere salvati   |
| nel database.                          |
+----------------------------------------+

Leggere i dati

Per leggere i dati utilizziamo una query SELECT.

Query.SQL.Text :=
  'SELECT * FROM Clienti';

Query.Open;

Per visualizzare i risultati:

while not Query.EOF do
begin
  WriteLn(Query.FieldByName('Nome').AsString);

  Query.Next;
end;

Output:

Mario Rossi
Giovanni Verdi
Anna Bianchi

Modificare un record

Per aggiornare un record utilizziamo UPDATE.

Query.SQL.Text :=
  'UPDATE Clienti ' +
  'SET Telefono = ''999999999'' ' +
  'WHERE ID = 1';

Query.ExecSQL;

Transazione.Commit;

Eliminare un record

Per cancellare dati dal database si utilizza DELETE.

Query.SQL.Text :=
  'DELETE FROM Clienti ' +
  'WHERE ID = 1';

Query.ExecSQL;

Transazione.Commit;

Esempio completo

Il seguente esempio apre un database e visualizza tutti i clienti.

program GestioneClienti;

uses
  SQLite3Conn,
  SQLDB,
  SysUtils;

var
  Conn: TSQLite3Connection;
  Tran: TSQLTransaction;
  Query: TSQLQuery;

begin

  Conn := TSQLite3Connection.Create(nil);
  Tran := TSQLTransaction.Create(nil);
  Query := TSQLQuery.Create(nil);

  Conn.DatabaseName := 'clienti.db';

  Conn.Transaction := Tran;

  Query.Database := Conn;

  Conn.Open;

  Query.SQL.Text :=
    'SELECT * FROM Clienti';

  Query.Open;

  while not Query.EOF do
  begin
    WriteLn(
      Query.FieldByName('Nome').AsString);

    Query.Next;
  end;

  Query.Close;

  Conn.Close;

  Query.Free;
  Tran.Free;
  Conn.Free;

end.

💡 Suggerimento

+----------------------------------------+
| SUGGERIMENTO                           |
+----------------------------------------+
| Racchiudi il codice di accesso al      |
| database in procedure o funzioni       |
| separate. Il programma sarà più        |
| ordinato e facile da mantenere.        |
+----------------------------------------+

Vantaggi di SQLite

SQLite offre numerosi vantaggi:

  • gratuito;

  • open source;

  • molto veloce;

  • semplice da distribuire;

  • non richiede installazione server;

  • perfetto per programmi desktop.

🖼️ Confronto

File di testo
      |
      +--> semplice
      |
      +--> difficile da gestire

SQLite
      |
      +--> semplice
      |
      +--> potente
      |
      +--> veloce

🔍 Lo sapevi che?

+----------------------------------------+
| LO SAPEVI CHE?                         |
+----------------------------------------+
| Un database SQLite può contenere       |
| milioni di record mantenendo ottime    |
| prestazioni anche su computer non      |
| particolarmente potenti.               |
+----------------------------------------+

Quando scegliere SQLite?

SQLite è una scelta eccellente quando:

  • si sviluppano programmi desktop;

  • si vogliono distribuire applicazioni senza installare server;

  • si gestiscono archivi di piccole e medie dimensioni;

  • si desidera semplicità e velocità.

Per applicazioni aziendali molto grandi o con centinaia di utenti contemporanei è invece consigliabile utilizzare database server come MySQL o PostgreSQL.


Conclusione

SQLite rappresenta una delle soluzioni più pratiche per aggiungere funzionalità database alle applicazioni Pascal e Lazarus. Grazie alla sua semplicità, alla velocità e all'assenza di configurazioni complesse, è spesso la scelta ideale per sviluppatori principianti ed esperti.

Imparare a utilizzare SQLite consente di creare programmi più professionali, capaci di archiviare e gestire grandi quantità di dati in modo affidabile ed efficiente.