05 julio 2010

SQLite, C# y DataGridView


Hemos visto cómo mostrar datos de una base de datos de SQLite desde C#, tanto desde consola como usando Windows Forms y componentes básicos como los TextBox y los ListView.

Si nos basta con una "cuadrícula" similar a las de las hojas de cálculo, en la que podamos modificar y añadir datos, hay una forma muy sencilla de conseguirlo: desde el editor visual añadimos un DataGridView a nuestro formulario y conectarlo a nuestra tabla usando un SQLiteDataAdapter, un DataSet y un DataTable.

La apariencia sería esta


Y el fuente sería básicamente el mismo que el anterior, pero la función encargada de actualizar la lista de ciudades quedaría así:




 1: private void ActualizarListaCiudades()
2: {
3: conexion =

4: new SQLiteConnection
5: ("Data Source=personal.sqlite;Version=3;New=False;Compress=True;");
6: conexion.Open();

7:
8: // Lanzamos la consulta y preparamos la estructura para leer datos
9:
string consulta = "select * from ciudad";
10:

11: // Adaptador de datos, DataSet y tabla
12:
SQLiteDataAdapter db = new SQLiteDataAdapter(consulta, conexion);

13: DataSet ds = new DataSet();
14: ds.Reset();

15: DataTable dt = new DataTable();
16: db.Fill(ds);

17:
18: //Asigna al DataTable la primer tabla (ciudades)
19:
// y la mostramos en el DataGridView
20:
dt = ds.Tables[0];

21: dataGridView1.DataSource = dt;
22:
23: // Y ya podemos cerrar la conexion
24:
conexion.Close();

25: }