Continuamos con nuestro tutorial con el que podemos ver lo sencillo que resulta utilizar bases de datos en general, y SQLite en particular, para crear aplicaciones multiplataforma con Xojo. En las anteriores entregas ya hemos visto como podemos conectar con el archivo de base de datos de SQLite propiamente dicho, así como realizar las primeras operaciones: consultas de registros, alimentar los controles ListBox a partir de los resultados obtenidos, y también modificar cualquiera de los registros mediante el uso de la instrucción SQL Update.
Te recomiendo que, si no lo has hecho aún, sigas en primer lugar las dos primeras partes del tutorial, de modo que así puedas comprender mejor qué es lo que sucede a la hora de ver esta tercera parte. De este modo te explicarás, por ejemplo, por qué el código está donde está y cual es su sentido, así como los eventos utilizados y también la forma en la que se ha creado una subclase del control ListBox y qué ventaja nos proporciona.
Descarga el programa de ejemplo Xojo utilizado para este tutorial desde este aquí.
La primera de las entregas, Primeros pasos con SQLite, es básica para entender como enlazar con el archivo de base de datos propiamente dicho y “abrir la conexión”, de modo que a partir de ese punto podamos comunicar el motor de base de datos con el archivo en el que se almacenan los registros.
Esta primera entrega también te servirá para ver de qué modo tan sencillo puedes alimentar los controles de listado a partir de los registros obtenidos mediante una consulta, así como un truco bastante extendido, y que será el que utilicemos para no perder en ningún momento el valor del identificador único asociado con cada uno de los registros de la base de datos. Esto nos facilitará enormemente las operaciones como la actualización de un registro o su borrado posteriormente.
La segunda de las entregas es fundamental para entender como podemos acometer las consultas SQL en las que se actualicen los contenidos de un registro determinado, así como el modo en el que procederemos a actualizar los listados propiamente dichos para reflejar dichos cambios.
SQLite: Crear nuevos registros y eliminarlos
En esta nueva entrega llega el turno de crear nuevos registros sobre cualquiera de las tablas disponibles en nuestra base de datos SQLite, así como de eliminar cualquiera de los existentes. En definitiva, se trata de utilizar las instrucciones Insert y Delete.
Tal y como se ha venido indicando también en las anteriores entregas, no es el momento de fijarnos en buenas prácticas sobre el modo utilizar las instrucciones SQL propiamente o, más importante aún, los mecanismos proporcionados por Xojo dirigidos a evitar los ataques de inyección SQL. Ya veremos como utilizarlos más adelante. Por ahora es el momento de fijar los fundamentos y, especialmente, observar lo sencillo que nos resulta con Xojo crear aplicaciones que trabajen con bases de datos.
Te puedo asegurar que, si eliminamos las explicaciones de estas tres entregas del tutorial y nos hubiésemos centrado exclusivamente en escribir el código, habríamos tenido nuestra aplicación de base de datos con capacidad de actualizar, crear y eliminar registros ¡en menos de una hora!
Te animo a que, antes de que llegue la próxima entrega, te descargues la aplicación de ejemplo e implementes una mejora que se ha quedado en el tintero 😉
El reto consiste en asegurarte de que cada vez que se elimine un álbum se eliminen de la base de datos también los registros correspondientes a dicho álbum; y que cuando se elimine un artista se eliminen también todos los álbumes asociados a dicho artista, así como las correspondientes canciones de cada uno de los álbumes. ¿Te animas?
Como de costumbre, espero que encuentres interesante esta nueva entrega y, como siempre, estoy abierto a tus comentarios y sugerencias.
Hola Javier
Con la compra de xojo la que vale 99$ se puede conectar a sql server y mysql y a otra base de Datos porque estuve viendo en la tabla donde estan los precios y te marcan con visto bueno a las que tienen acceso con este valor del IDE.
desde ya muchas gracias
Hola Agustin,
Con Xojo Desktop Unica, sólo puedes utilizar SQLite como motor de bases de datos. Es decir, NO puedes utilizar MySQL/MariaDB, SQL Server, Oracle y resto de motores que sí que están disponibles mediante la licencia Desktop (entre otras ventajas, como por ejemplo el control de versiones para el código fuente).
Javier