A nadie se le escapa que SQLite es el motor de base de datos Universal por excelencia. Y en el entorno de desarrollo multiplataforma Xojo también es así, puesto que nos permite utilizarla con absoluta sencillez tanto en nuestras aplicaciones para OS X, Windows y Linux, como en aquellas otras que creamos como aplicaciones web y también para iOS.
De acuerdo que SQLite no siempre es la mejor opción según en qué tipo de proyectos (para los cuales también podríamos echar mano de otros motores de base de datos soportados, como puedan ser MySQL o PostgreSQL entre otros; pero para la inmensa mayoría de aplicaciones, SQLite es la respuesta acertada incluso ¡como formato de archivo para los documentos generados por nuestras apps!
Adicionalmente, y a lo largo de los muchos años dando soporte a usuarios de Xojo, sé firmemente que SQLite es uno de los intereses prioritarios para los recién llegados a la plataforma de desarrollo multiplataforma Xojo, además del lenguaje propiamente dicho (motivo que inspiró la creación del libro en formato electrónico (ePub/PDF) que puedes adquirir en este mismo sitio web).
Conectar con la base de datos SQLite en Xojo y realizar consultas
Por tanto, esto me ha animado a preparar una serie de vídeo-tutoriales en torno a SQLite y este es el primero de la serie. Antes de comenzar, no obstante, te recomiendo que eches un vistazo en primer lugar a la introducción sobre SQLite que preparé en su día.
Este vídeo te servirá como toma de contacto para conocer un poco mejor cuáles fueron sus orígenes… y también romper algunos mitos. Después de dicho vídeo, creo que también encontrarás interesante saber que con Xojo 2015r4 se ha actualizado el soporte de esta base de datos a la última versión oficial disponible, con sus correspondientes beneficios.
Una vez hayas realizado ese breve repaso por las anteriores entradas, creo que estarás en mejor disposición para abrir el IDE de Xojo y seguir conmigo este pequeño tutorial que da respuesta a una serie de preguntas recurrentes: la creación del objeto de base de datos, dónde ha de ubicarse para que su uso sea posible desde diferentes clases/métodos, y también como podemos realizar consultas empleando el lenguaje SQL.
Adicionalmente, en este tutorial también veremos cómo trabajar con el objeto de tipo RecordSet resultante para obtener la información correspondiente a diferentes campos de un registro obtenido a partir de la consulta realizada.
Como de costumbre, ¡espero que lo encuentres útil… y también tus comentarios y/o sugerencias para los que están por llegar!
Hola.
Este vídeo no es el SQlite.
Hola Manuel,
Gracias por el apunte! En realidad estaba enlazado a la lista de reproducción que contiene todos los vídeos 😉 Ya está arreglado.
[…] bien el anterior fragmento de código conecta con una base de datos SQLite, puedes utilizar la misma técnica para conectar a una base de datos diferente, como pueda ser […]
Hola Javier,
llevo poco en Xojo pero estoy aprendiendo mucho con tus video-tutoriales. Últimamente estoy siguiendo tu serie de tutoriales de SQLite y en este video has comentado que se podría mejorar el código implentando un método para contruir las consultas. ¿Podrías explicar más en detalle esta opción aunque sea “off the record”?. Me gustaría implementarla en un futuro.
Gracias monstruo!!!
Sergio
Hola Sergio,
¡Gracias por tus comentarios! Paciencia, que seguro que llega otro tutorial sobre el tema… 😉
Javier
Hola Javier,
¿Dónde se ha de ubicar la base de datos para paquetizarla con la app a la hora de compilarla?
Gracias.
Hola Antonio,
Existen varias estrategias. Una de ellas consiste en copiar la BBDD (imagino que hablamos de SQLite) en la carpeta de Recursos como un paso de compilación en el IDE. Da igual qué plataforma de despliegue… todas generan carpeta de Recursos. Posteriormente, en la primera ejecución de la app copias la BBDD “esqueleto” o “base” a la carpeta de soporte donde cada uno de los SO esperan encontrar los documentos de apoyo de las apps… y en sucesivas ejecuciones trabajas sobre dicha copia.
Si se trata exclusivamente de Windows, también puedes contemplar la copia de la BBDD sobre la carpeta de destino como un paso en la generación del instalador.
Javier
Estoy siguiendo los pasos de tu tutorial y me da el siguiente error, en el nombre de Listbox:
Window1.Open, line 16
There is more than one item with this name and it’s not clear to which this refers.
artistList.AddRow = rc.Field(“name”).StringValue
Inicialmente el nombre era Listbox1, lo he cambiado varias veces y siempre me da el mismo error. No empiezo bien la toma de contacto con Xojo
Estoy mirando a Xojo como alternativa a otra base de datos, que últimamente le ha dado por sacar una nueva versión cada año. Y así nos va.
Carles
Estimado Carles,
Me temo que se debe a un ligero despiste por mi parte. Por favor, pruebe a incluir la siguiente línea modificada:
artistList.addRow rcField(“name”).StringValue
Es decir, eliminando el símbolo de asignación de valor (“=”)
Si necesita de aclaraciones adicionales, no dude en contactar conmigo. De igual modo, tenga a buen seguro que Xojo es una herramienta increíble para crear front-ends y aplicaciones completas que trabajen de forma nativa contra diferentes motores de bases de datos: SQLite, MySQL, PostgreSQL, SQL Server, Oracle… e incluso puede conectar y trabajar con bases de datos FileMaker utilizando el componente OpenSource FM Luna.
También puede encontrar interesante mi eBook “SQLite, como nunca antes te lo habían contado“, mediante el cual obtener desde cero y de forma progresiva los fundamentos de creación, uso y mantenimiento de bases de datos basadas en SQLite y que puede aplicar en sus aplicaciones Xojo (y también en otros lenguajes de programación).
Hola Javier,
No había visto aún tu respuesta, pero mirando ejemplos de Xojo, he encontrado la solución.
//artistList.AddRow = rs.Field(“name”).StringValue
artistList.AddRow(rs.Field(“name”).StringValue)
Gracias por tu tiempo,
Carles