





| January 17th, 2008 | |
|
Air desde su versión beta 2 si no mal recuerdo trae integrado un engine de base de datos SQL mediante SQLite. ¿Que significa esto? Significa que podemos crear base de datos locales desde nuestra aplicación de AIR sin la necesidad de que el usuario final instale nada más que el Runtime de AIR. Con esto podemos crear eliminar modificar bases de datos, tablas, registro etc. Para propósitos de este tutorial vamos a crear un simple cliente que cree una base de datos si no existe, que cree la tabla con la cual trabajaremos y donde consultaremos, agregaremos y eliminaremos entradas. Cabe mencionar que para efectos prácticos no posteare todo el código en cada ejemplo. Al final del tutorial estará la clase final así como los archivos fuente para su estudio Creación de Base de DatosAl ser una base de datos local, evidentemente dicho archivo se tiene que crear en la maquina del usuario, para saber si la base de datos existe o no, debemos verificar si el archivo existe, para ello hacemos uso de la Clase File Actionscript:
Con esto sabremos si la base de datos existe o no, si dicha base de datos no existe debemos crearla, pero antes de poder crearla debemos crear una instancia de la clase SQLConnection para poder conectarnos con el engine y después de esto entonces si crear la BD. Actionscript:
En esta parte de código asignamos 2 listeners a conn que es nuestra conexión con el engine, Los listeners son:
La línea “mágica” es Actionscript:
Con esta instrucción abrimos la base de datos pasando como referencia el archivo respectivo, si el archivo no existe se crea automáticamente. Hay dos formas de trabajar con SQLite, de forma Síncrona o Asíncrona, en este ejemplo trabajamos con la segunda opción, en una entrada posterior tratare de explicar las diferencias entre cada una de ellas. Con esto ya tenemos una base de datos creada ahora lo siguiente es crear un tabla Creación de TablasUna vez que ya tenemos nuestra base de datos ahora necesitamos una tabla en donde insertar datos. Las interacciones hacia la base de datos es exactamente igual que en otros lenguajes de programación (dígase PHP), se crea la conexión a la base de datos se escribe el SQL y se ejecuta la instrucción. Lo único que cambia en AS3 es que debemos crear una instancia de la clase SQLStatement en la cual seteamos que conexión a DB usar, asignar la cadena de consulta o ejecución (SQL) y asignar los valores. Todo esto se resume a lo siguiente. Actionscript:
InsertsComo mencione antes todas las interacciones con la base de datos se deben de hacer mediante una instancia de la clase SQLStatement. Lo único que cambia de acuerdo con el ejemplo anterior (Creación de tablas) es la sentencia SQL y la asignación de los valores de los campos. Ejemplo de Insert Actionscript:
Aqui vemos cosas nuevas en la sentencia. Primero Actionscript:
Si pueden ver los valores de los campos están precedidos de dos puntos : esto significa que son parámetros de la sentencia. La clase SQLStatement tiene una propiedad llamada parameters que es un Array en donde se tiene que asignar el valor de cada parámetro escrito en nuestra sentencia, en este ejemplo tenemos 2 parámetros :name y :age entonces necesitamos asignarle valores esto se hace con estas líneas Actionscript:
En realidad es algo simple. no? Obteniendo datos de la base de datosPara obtener datos de la base de datos es exactamente lo mismo que hicimos para crear la tabla, solamente cambia la sentencia SQL Actionscript:
Para obtener el resultado de la consulta de debemos ejecutar la función getResult de la instancia SQLStatement. Actionscript:
Por último solo queda recorrer los resultados, que son devueltos como objetos Actionscript:
Con esto ya podemos comenzar a trabajar con SQLite para manejar información en la maquina local del usuario final. |
7 Comentarios en “Trabajando con SQLite, AIR y FLASH CS3”
Fantástico Tmeister, un tutorial completísimo!
Hace sólo un par de meses que estoy tocando AIR y me encanta. Llevar Flash al escritorio pero añadiéndole características tan potentes como el acceso a SQLite es una gozada. Espero poder mostrar pronto las cosas que estoy haciendo
Y una pregunta respecto a Apollo-Code, ¿piensas darle continuidad? El proyecto es genial, sólo que quizá te adelantaste demasiado xD, pero la comunidad hispanoparlante va a necesitar iniciativas como esa.
Que tal Dani.
Aun no se qué hacer con apollo-code, en definitiva no será un blog, no veo caso estar manteniendo 2 blog sobre casi la misma temática, bien puedo postear en klr20mg cosas relacionadas sobre AIR como lo he venido haciendo.
He pensado mas en un sitio más complejo foros, tutoriales, repositorio de aplicaciones. Pero aun no estoy seguro que hacer pero ya lo resolveré.
Saludos!!
Perfeito!!! Genial!!!
CAra estou a dias procurando algo sobre SQLite, que fosse claro. E você me fez encontrar. E o primeiro tutorial de toda net que disponibiliza um tutorial tão claro.
Otimo! já guardei sua pagina nos meus favoritos. Continue com os tutoriais!!!
Buen tutorial, me agrada que actionscript siga extendiendose, aunque a los opositores les duela...
Tmeister, se que AIR es para hacer aplicaciones de escritorio, por lo tanto para poner aplicaciones como esta en un web hosting ya no requeriría AIR... mi pregunta es: ¿AS3 aun sin AIR puede interactuar con SQLite directamente si la aplicacion estubiera alojada en un web hosting, o necesitaria un intermedario como php (por ejemplo) como lo necesitaba en AS2?
Gracias
Gracias por toda esta información, pero me gustaría que hiciera vídeotutoriales, ya que llegarían los conocimientos, a mas personas, me refiero a la pedagogía que ofrecen los productos audiovisuales.
Perdón si sueno exigente ( no es mi intención es mi emoción ), pero se necesita tanto de estos conocimientos.
Muchas Gracias por su labor, cuando afiance mis conocimientos en estas tecnologías estaré para ayudar en lo que sea necesario.
¿Y si el usuario no tiene instalado SQLite?
@David,
No, el usuario no tiene que tener instalado SQLite, solo el Runtime de AIR
Saludos!!