SQLite: Modificar registros y OOP en Xojo

En esta entrega continuamos con el tutorial de introducción a programación de aplicaciones que utilizan acceso a base de datos SQLite como repositorio (persistencia) de la información. Después de todo, puede decirse que SQLite es la base de datos universal y, en combinación con Xojo ¡nos permite crear todo tipo de aplicaciones en muy poco tiempo! También importante, en una fracción de los costes que requeriría hacerlo con otros productos y/o tecnologías.

Antes de empezar con este tutorial, es buena idea que eches primero un vistazo a la primera entrega del tutorial SQLite si es que no lo has hecho ya, de ese modo podrás ver la parte del código y la funcionalidad que no aparecen explicados en este segundo tutorial (el proyecto de ejemplo utilizado es el mismo).

En esta nueva entrega no sólo explico cómo utilizar la sentencia SQL que permite actualizar los registros ya existentes en la base de datos, sino que también se introducen buenas prácticas en cuanto al modo en el que un enfoque OOP (programación orientada a objetos) nos facilita la vida como programadores. Ya sabes, de este modo evitamos duplicar código, mejoramos el mantenimiento y evolución de los componentes, así como su reutilización en otros proyectos (es decir, código desacoplado).

En concreto, veremos lo sencillo que resulta crear una subclase a partir de una clase ya existente en el framework de Xojo, así como el modo en el que podemos crear nuevos eventos y los mecanismos para invocarlos. Esto es necesario para que las instancias de objeto, creadas a partir de nuestras clases, puedan reaccionar mediante la implementación de código a la invocación del evento en cuestión. No te preocupes, verás todo esto más claro en cuanto reproduzcas el vídeo y, especialmente, si ya tienes mi libro “Programación Multiplataforma Xojo”, en el que puedes aprender desde cero todo lo necesario para aprender a programar (y OOP) sin conocimientos previos.

También he de indicar que por el momento (¡estamos en la segunda entrega!) no se están abordando e implementando en el proyecto cuestiones cruciales como la protección frente a ataques de inyección SQL, algo que prevee el propio framework de Xojo habilitando los mecanismos necesarios mediante los Prepared Statements, así como otras consideraciones que evitarían código duplicado y una mejor arquitectura de la aplicación. ¡No te preocupes! Verás como en las próximas entregas todo irá encajando y mejorando a medida que introducimos nuevos conceptos y los ponemos en práctica.

2 comentarios en “SQLite: Modificar registros y OOP en Xojo

  1. Carles

    Hola Javier,

    Es la segunda vez que lo hago desde cero y siempre tengo el mismo tipo de error. El evento RowModified (Listbox1): “db.SQLExecute(“update artists set name=”+newText+” where artistID=”+id)”, da el error “no such column: AC”.

    Debe haber algo que se me escapa y no se verlo. Por cierto en mi demo de Sqlite las tablas están en plural.

    Carles

    1. Javier Rodriguez

      Hola Carles,

      Tiene que hacer uso de las comillas simples a la hora de asignar el valor para cada una de las columnas, dado que se espera texto. La sentencia correcta sería:

      db.SQLExecute(“update artists set name='”+newText+”' where artistID='”+id+"'")

      Advierta el añadido de las comillas simples.

      Saludos,

      Javier

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *