Comunidad de diseño web y desarrollo en internet online

SQLite en AIR (mostrar tablas)

Citar            
MensajeEscrito el 24 May 2009 12:37 am
Hola otra ves. Mi consulta hoy es muy simple...y aunque e buscado por todos lados no e encontrado la manera de "mostrar las tablas que existen en mi base de datos" sqlite desde AIR, lo unico que quiero es mostar una lista de todas las tablas, alguien sabe como hacer esto? seguro que para los maestros de cristalab es muy simple pero io recien empieso y se me esta asiendo mucho lio.

Desde ya agradesco su ayuda.

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

chrome
Citar            
MensajeEscrito el 25 May 2009 10:13 pm
Vamos tios! porque nadie responde a mi consulta? esque no existe una manera de listar las tablas que hay en una base de datos en AIR con SQLite?

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

chrome
Citar            
MensajeEscrito el 26 May 2009 12:26 am
yo estoy empezando con esto del AIR, y no se mucho, pero quizas esta pagina pueda darte algo de ayuda para solucionar tu problema y si lo logras, no dudes en crear un tip, y publicarlo en cristalab para que todos puedan consultarlo.
saludos

Por bubudrc

Claber

591 de clabLevel

1 tutorial

 

mayo 2006

firefox
Citar            
MensajeEscrito el 26 May 2009 12:28 am
Este problema si que me volvio loco, pero no descanse hasta encontrar la manera y despues de buscar y buscar incluso viendo sitios en igles y descifrando su significado...porfin encontre la respuesta y hoy me AUTORESPONDO.

SQLite como dicen los expertos es un motor de base de datos muy potente para lo ligero que es, ademas que se complementa muy bien con AIR. ya que biene integrado dentro de el, no necesitas instalar nada de nada y ademas es como 2 o 3 veces mas rapido que MySQL, yo ya esta optando por pasarme a MySQL al con encontrar respuestas, pero el blog en ingles de un tio me salvo, no es que SQLite sea incompatible sino que flash puso su propia manera de ingresar a algunos datos dentro de la base de datos. Normalmente en la mayoria de bases de datos bastaba con una sentencia "SHOW TABLES" y te devolvia la lista de todas las tablas.
En AIR para obtener una lista de las tablas dentro de tu base de datos (o el esquema completo) tienes que aser una llamada al metodo loadSchema() de la clase SQLConnection y luego recojer los datos en un SQLSchemaResult llamando para ello al metodo getSchemaResult().
La clase SQLSchemaResult que nos devuelve la estructura tiene algunas propiedades dentro de la que esta encontramos la propiedad "tables" que es en realidad un Array con la lista de las tablas que tenemos. Finalmente debemos registrarnos al evento SQLEvent.SCHEMA (si trabajamos de manera asíncrona claro) para poder obtener los datos adecuadamente.

Talves para muchos esta informacion no sea muy interesante, pero creanme que para mi lo fue todo durante 2 dias en los que no pensaba en otra cosa. En fin aki un ejemplo:

Código :

var conn:SQLConnection = new SQLConnection();
conn.addEventListener(SQLEvent.OPEN, openHandler); 
conn.addEventListener(SQLErrorEvent.ERROR, errorHandler); 
var dbFile:File = File.applicationDirectory.resolvePath("DBSample.db"); 
conn.openAsync(dbFile);

function openHandler(event:SQLEvent):void  { 
    trace("base de datos abierta");
   conn.loadSchema(SQLTableSchema);
   conn.addEventListener(SQLEvent.SCHEMA, resultado);
}

function resultado(e:SQLEvent) {
   var resul:SQLSchemaResult = conn.getSchemaResult();
   for each (var table:SQLTableSchema in resul.tables) {
      trace(table.name);
   }
}

function errorHandler(event:SQLErrorEvent):void 
{ 
    trace("Error message:", event.error.message); 
    trace("Details:", event.error.details); 
}


Bueno espero que les sirva. Y pa los que no provaron SQLite animense que esta bien paja!.
------------------------------------------------------------------------------------------------------------------------------

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

chrome
Citar            
MensajeEscrito el 01 Jun 2009 08:25 pm
Hola Marrkitos, capas que esta clase te sirva ^^
Saludos

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 01 Jun 2009 09:31 pm
Que tal phoxer, estuve viendo tu clase y esta buena pero no encontre lo que buscaba, las tareas que realiza tu clase son las de mas uso, como crear y conectar a una DB, crear tablas, recuperar e insertar registros (muy bueno todo). pero lo que yo busco es algo para que te devuelva la estructura de tu base de datos (una ves creada). Es decir que te devuelva el nombre y el numero de TABLAS Y CAMPOS que tienes. me dejo entender?.

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

chrome
Citar            
MensajeEscrito el 01 Jun 2009 09:49 pm

marrkitos escribió:

...pero lo que yo busco es algo para que te devuelva la estructura de tu base de datos (una ves creada). Es decir que te devuelva el nombre y el numero de TABLAS Y CAMPOS que tienes. me dejo entender?.


Si entiendo, nunca lo hice eso, una duda que tengo es para que queres listar eso?.. estas haciendo algun editor de Sqlite?..

si en realidad no lo tenes que mostrar en cliente la estuctura y solo queres ver que hay guardado en tu base de datos te recomiendo que uses para ver las tablas un sqlite browser ahora si en realidad si tenes que mostrar las tablas y sus campos en vista de cliente.. mmm ya no te puedo ayudar.

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 01 Jun 2009 10:15 pm
...xD pues es justamente lo que quiero aser, bueno tanto como un editor SQL no, pero necesito que muestre las tablas por pantalla para que el cliente vea que grupos tiene (los grupos son tablas), y asi pueda decidir cuales necesita agregar.

Algo por ai va el rollo. de todos modos gracias phoxer.

Por marrkitos

51 de clabLevel



 

Arequipa - Peru

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.