Explicamos paso a paso cómo desarrollar una pequeña aplicación para Windows, mediante la suite de desarrollo Microsoft Visual Studio .Net 2012 y el lenguaje de programación C# (C Sharp) para acceder a una base de datos SQLite de forma nativa usando ADO.NET.

Requisitos para desarrollar aplicación con acceso nativo a SQLite usando Visual C# .Net y el driver Connector/Net ADO.NET

A continuación indicamos los requisitos necesarios para desarrollar una aplicación, usando el IDE de desarrollo Microsoft Visual C# .Net, que accede, de forma nativa (directa sin intermediarios), al motor de base de datos gratuito SQLite.

Suite de desarrollo Microsoft Visual Studio .Net 2012

Para desarrollar aplicaciones para sistemas operativos Microsoft Windows utilizaremos la suite de desarrollo Microsoft Visual Studio .Net 2012, por lo que necesitaremos disponer de esta suite (o alguna versión inferior) o bien con la licencia pertinente o bien en versión de prueba. En los siguientes tutoriales explicamos cómo instalar este entorno de desarrollo de aplicaciones .Net para Windows:

Driver Connector/Net de SQLite para .Net

Necesitaremos las librerías proporcionadas por SQLite para acceso nativo desde .Net, disponibles en el siguiente sitio web, en la URL:

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

En nuestro caso, en el momento de realizar este tutorial, descargaremos la versión 1.0.85.0 (sqlite-netFx45-setup-bundle-x86-2012-1.0.85.0.exe) del apartado Setups for 32-bit Windows (.NET Framework 4.5) ya que la aplicación será desarrollada utilizando la versión .NET Framework 4.5 y para plataformas x86:

Para instalar el conector .Net de SQLite ejecutaremos el fichero sqlite-netFx45-setup-bundle-x86-2012-1.0.85.0.exe descargado anteriormente, en Windows Vista, Windows 7 y Windows 8 es recomendable ejecutar el fichero como administradores (pulsando con el botón derecho del ratón sobre el fichero y seleccionando «Ejecutar como administrador»):

Pulsaremos en «Si» en la ventana de «Control de cuentas de usuario» (este aviso no aparecerá si tenemos UAC desactivado):

Se iniciará el asistente de instalación de System.Data.Sqlite, pulsaremos «Next»:

Si queremos cambiar la ruta de instalación pulsaremos «Browse», dejaremos la de defecto y pulsamos «Next»:

Seleccionamos «Custom istallation» para realizar una instalación personalizada:

Seleccionamos todos los componentes que aparecen en la ventana y pulsaremos «Next»:

Los componentes que se instalarán:

  • System.Data.SQLite components.
    • Core components.
      • Core managed components.
      • Core navite x86 components.
  • LINQ support components.
  • Visual Studio designer components.
    • Visual Studio designer installer components.
  • Debugging symbol components.
  • Test components.

Si queremos cambiar la carpeta del menú inicio de Windows donde se guardarán los accesos directos pulsaremos «Browse», para dejar la carpeta por defecto «System.Data.SQLite/2012» pulsaremos «Next»:

En la siguiente ventana, el asistente para instalar System.Data.SQLite nos dará a elegir si queremos que realice las siguientes tareas adicionales tras la instalación:

  • Generate native images for the assemblies and install the images in the native image cache.
  • Install the assemblies into the global assembly cache.
    • Install the designer components for Visual Studio 2012.

Marcaremos todas las tareas adicionales y pulsaremos «Next»:

Pulsaremos «Install» para iniciar la instalación definitiva de System.Data.SQLite:

Tras la instalación de System.Data.SQLite, el asistente nos indicará que la instalación ha finalizado. Pulsaremos «Finish»:

Fichero de base de datos SQLite

La aplicación de ejemplo que desarrollaremos en C# .Net accederá a una base de datos SQLite. Cabe mencionar que SQLite no requiere de ningún motor o servicio instalado en el equipo, no requiere de ningún servidor con el software instalado, a diferencia de otros motores como MySQL, PostgreSQL, Oracle, Microsoft SQL Server, Firebird, DB2, etc.

Por lo tanto no necesitaremos instalar ningún software, sólo disponer de un fichero de base de datos SQLite (que incluso también se puede crear desde nuestra aplicación C# .Net). Si necesitamos crear un fichero SQLite podremos hacerlo con la herramienta oficial de SQLite (desde la línea de comandos). En el siguiente tutorial explicamos cómo crear una base de datos SQLite paso a paso con esta utilidad:

(lo explicamos para Windows XP pero es perfectamente válido para cualquier otro sistema operativo)

También se puede utilizar software de terceros o incluso nuestra aplicación (gratuita y con código fuente en C#):

Desarrollar aplicación C# para acceso a SQLite de forma nativa con ADO.NET Driver System.Data.SQLite

Abriremos Microsoft Visual Studio .Net 2012, pulsaremos en el menú «Archivo» – «Nuevo proyecto», seleccionaremos «Visual C#» en la parte izquierda, en la derecha seleccionaremos «Aplicación de Windows Forms», indicaremos un nombre para la solución, por ejemplo «AjpdSoftSoftAccesoSQLiteCsharp», elejimos Framework que vamos a utilzar en la aplicación, en nuestro caso «.NET Framework 4.5», el cual deberá de estar instalado en los equipos en que se ejecute esta aplicación para su correcto funionamiento. Una vez introducidos los datos básicos de la aplicación pulsaremos «Aceptar»:

Una vez cerado el proyecto debemos establecer algunos parámetros que afectarán a compilación. Para ello acederemos al menú superior y pulsaremos en el menú «Compilar» – «Administrador de configuración….» y en «Plataforma de soluciones activas» seleccionamos la arquitectura para la que vamos a desarollar esta aplicación en nuestro caso seleccionamos «(x86)». Si no aparece la arquitectura deseada en el desplegable podremos agregarla seleccionando «Nueva»:

Para que la aplicación .Net en C Sharp pueda usar el connector .Net de SQLite pulsaremos en el menú «PROYECTO» – «Agregar referencia»:

Buscaremos y seleccionaremos el fichero System.Data.SQLite.dll en la carepta de instalación de System.Data.SQLite:

Añadiremos todos los componentes visuales al formulario de la aplicación C#. En esta aplicación de ejemplo usaremos un DataGridView para mostrar el resultado de la consulta SQL que el usuario ejecute y un Button para ejecutar dicha consulta:

Añadiremos en los «using» del código de nuestro formulario la cláusula:

using System.Data.SQLite;

y añadiremos la declaración de la conexión dentro del evento «Click» del botón que conectará con SQLite y ejecutará la consulta SQL mostrando el resultado en el DataGridView:

El código C# completo de la aplicación para el evento Click del botón «Consulta» que ejecutar la consulta SQL que queramos :

Como podremos comprobar una sencilla rutina para obtener los registros de una tabla de una base de datos SQLite. Por supuesto, el código es muy mejorable en cuanto a que no incluye captura de errores ni permite que el usuario introduzca la consulta SQL que quiera, la consulta SQL se ejecuta en tiempo de diseño.

Para compilar y probar nuestra miniaplicación de acceso a SQLite pulsaremos en el menú «DEPURAR»- «Iniciar depuración» (o pulsando la tecla F5). La aplicación conectará a la BD SQLite indicada en el código y ejecutará la consulta SQL, mostrará el resultado en el DataGridView:

En el siguiente enlace puede descargarse el código fuente completo en C# .Net de la aplicación de ejemplo utilizada para realizar este tutorial:

En este otro enlace podréis descargar de forma complentamente gratuita una aplicación más avanzada para administrar bases de datos SQLite que incluye el código fuente en Visual Studio .Net 2012, además, permite crear bases de datos, establecer contraseña, ejecutar consultas de modificación de datos (CREATE, DROP, DELTE, UPDATE, INSERT) y de selección (SELECT, GROUP, HAVING), exportar datos a CSV, etc.: