SQLite es una pequeña librería multiplataforma escrita en C que contiene un sistema gestor de bases de datos. SQLite no trabaja como las usuales Bases de Datos, con infraestructura cliente/servidor, en cambio SQLite se integra directamente en la aplicación utilizando un archivo para guardar la información.
SQLite puede utilizarse para guardar datos que no requieran gran cantidad de datos como configuraciones, logs, historiales, etc. Actualmente SQLite 3 soporta hasta 2 Terabytes, pero hay que tener en cuenta que SQLite consume al rededor de 256 bytes de memoria por cada 1 MiB de la base de datos.
Qt4 provee integración directa con SQLite, la conexión es bastante sencilla, tanto que es difícil encontrar información sobre el tema :).
Activando SQLite
Lo primero es crear un proyecto de QT4 ya sea usando KDevelop, QDevelop o generándolo uno mismo.
Dentro de KDevelop tenemos que ir a Opciones del Sub Proyecto -> Configuración
En QDevelop debemos ir al menú Proyecto -> propiedades del proyecto y buscar la opción Bibliotecas Qt
En ambos debemos seleccionar las librerías SQL.
Si es un proyecto echo sin una IDE se puede añadir al archivo .pro la variable
QT += sql
Conexión a SQLite
La conexión es de las mas sencillas, no se colocara host ni contraseña, solamente el nombre del archivo que se utilizará para guardar los datos:
#include <QSqlDatabase>
…
QSqlDatabase baseDatos = QSqlDatabase::addDatabase(«QSQLITE»);
baseDatos.setDatabaseName(«bd.db»);
Si Qt no encuentra el archivo creará uno.
De ahora en adelanta ya podemos utilizar SQLite como si fuese cualquier base de datos, teniendo en cuenta las sentencias que soporta.
Creando la estructura de la Base de Datos
Para crear la estructura de la Base de Datos podemos utilizar una interface como SQLite Data Base Browser o phSQliteAdmin, o bien hacerlo mediante su interfáz de consola:
Creamos una tabla dentro de la base de datos con sus respectivos campos
$ sqlite3 bd.db
SQLite version 3.5.6
Enter «.help» for instructions
sqlite> CREATE TABLE usuarios (
…> id INTEGER PRIMARY KEY,
…> usuario TEXT,
…> clave TEXT);
Podemos verificar lo creado con la instrucción .schema
sqlite> .schema usuarios
CREATE TABLE usuarios (
id INTEGER PRIMARY KEY,
usuario TEXT,
clave TEXT);
También podemos ingresar un dato de prueba para nuestro programa y verificar que se ha insertado correctamente.
sqlite> INSERT INTO usuarios (usuario, clave) VALUES (‘administrador’, ‘administrador’);
sqlite> SELECT * FROM usuarios;
1|administrador|administrador
Para salir utilizamos la instrucción .exit
sqlite> .exit
Ejemplo de utilizacion
Para ejemplo pueden descargar el archivo ejemplo.tar.gz el cual trae un ejemplo minimo de como acceder y leer los datos de una base de datos SQLite con QT4 configurado tanto para compilarse en Linux como en Windows
Enlaces:
SQLite -> SQLite Home Page
Documentacion de SQLite -> http://www.sqlite.org/docs.html
QT4 -> http://trolltech.com/products/qt/