Campo Fecha SQLite y Air

308 views
Skip to first unread message

DevCH

unread,
Nov 12, 2009, 11:15:26 PM11/12/09
to madeinflex
Hola a todos, le cuento que estoy desarrollando una pequeña aplicación
de Adobe Air y SQLite dentro de las tablas, hay una que tiene un campo
fecha, dicho campo lo inserto de la siguiente manera:

INSERT INTO mitabla(fecha)values(11-11-2009)

No genera error, guarda el dato, pero cuando lo obtengo y lo pongo en
un Datagrid me aparece como "16 de Abril de 1857" mas o menos así,
dependiendo del dato pasado; pero a lo que voy es que ni siquiera se
aproxima a la fecha señalada o algo parecido; en intentado de esta
forma:

INSERT INTO mitabla(fecha)values('11-11-2009'), pero me marca error de
tipo de datos.

Mi duda es, será que en AIR hay algún formato en particular en como
guardar un dato fecha en un campo Date?. Y por si fuera poco no logro
encontrar la DB ya que la estructura la crea el mismo programa y el
mismo programa la alimenta, lo bajé de aquí:
http://www.cristalab.com/tips/manejo-de-una-base-de-datos-sqlite-con-air-y-flex-c51562l/
el asunto es que estaba acostumbrado a trabajar mis proyectos Flex en
una PC pero ahora se llevaron mi PC y me dejaron una MAC y en esa no
se donde rayos guarda la DB.

Si alguien me puede iluminar con esos datos, se los agradezco mucho
amigos.

Saludos

Joaquin Caro

unread,
Nov 13, 2009, 2:10:52 AM11/13/09
to madei...@googlegroups.com
sqlite necesita las fechas en formato yyyy-mm-dd así debería funcionarte.
Saludos

El 13/11/09, DevCH <chidal...@gmail.com> escribió:

Valdemar De Matos

unread,
Nov 13, 2009, 3:47:36 AM11/13/09
to madei...@googlegroups.com
Hola DevCH.

He estado trabajando con algo similar y mi bd la encuentro en esta ruta:
/Users/[nombredeusuario]/Library/Preferences/[nombredeproyecto]/Local Store/bd.sql3

Pero en realidad esto solo me ha servido para borrarla de forma a crear una limpia, ya que los datos están encriptados y no se pueden editar.

He probado utilizar una herramienta para editar bases de datos SQLite:
http://www.dehats.com/drupal/?q=node/58
pero no me ha funcionado, no me reconocía mi contraseña y no me la ha podido abrir.

Las fechas las introducía 'manualmente', a través de strings.
Algo como:
var fecha:String = dia+"-"+mes"-"+ano;
fecha VARCHAR(10)

Saludos
- Valdemar

2009/11/13 Joaquin Caro <jcar...@gmail.com>

PLC

unread,
Nov 13, 2009, 8:09:31 AM11/13/09
to madeinflex

DevCH

Yo cuando quiero ingresar la fecha del momento del air lo hago de esta
manera

DATETIME('NOW','localtime')

Para ingresar una fecha x

Sería '2009-10-29 10:20:00' o '2009-10-29'


Para leerlo de la base lo hago de la siguiente forma


strftime(\"%Y-%m-%d\", campo_fecha_ing)

strftime(\"%Y-%m-%d %H:%M:%S\", campo_fecha_ing)


SL2


On 13 nov, 05:47, Valdemar De Matos <valdemar.ma...@gmail.com> wrote:
> Hola DevCH.
>
> He estado trabajando con algo similar y mi bd la encuentro en esta ruta:
> /Users/[nombredeusuario]/Library/Preferences/[nombredeproyecto]/Local
> Store/bd.sql3
>
> Pero en realidad esto solo me ha servido para borrarla de forma a crear una
> limpia, ya que los datos están encriptados y no se pueden editar.
>
> He probado utilizar una herramienta para editar bases de datos SQLite:http://www.dehats.com/drupal/?q=node/58
> pero no me ha funcionado, no me reconocía mi contraseña y no me la ha podido
> abrir.
>
> Las fechas las introducía 'manualmente', a través de strings.
> Algo como:
> var fecha:String = dia+"-"+mes"-"+ano;
> fecha VARCHAR(10)
>
> Saludos
> - Valdemar
>
> 2009/11/13 Joaquin Caro <jcaro...@gmail.com>
>
>
>
> > sqlite necesita las fechas en formato yyyy-mm-dd así debería funcionarte.
> > Saludos
>
> > El 13/11/09, DevCH <chidalgor1...@gmail.com> escribió:
>
> > > Hola a todos, le cuento que estoy desarrollando una pequeña aplicación
> > > de Adobe Air y SQLite dentro de las tablas, hay una que tiene un campo
> > > fecha, dicho campo lo inserto de la siguiente manera:
>
> > > INSERT INTO mitabla(fecha)values(11-11-2009)
>
> > > No genera error, guarda el dato, pero cuando lo obtengo y lo pongo en
> > > un Datagrid me aparece como "16 de Abril de 1857" mas o menos así,
> > > dependiendo del dato pasado; pero a lo que voy es que ni siquiera se
> > > aproxima a la fecha señalada o algo parecido; en intentado de esta
> > > forma:
>
> > > INSERT INTO mitabla(fecha)values('11-11-2009'), pero me marca error de
> > > tipo de datos.
>
> > > Mi duda es, será que en AIR hay algún formato en particular en como
> > > guardar un dato fecha en un campo Date?. Y por si fuera poco no logro
> > > encontrar la DB ya que la estructura la crea el mismo programa y el
> > > mismo programa la alimenta, lo bajé de aquí:
>
> >http://www.cristalab.com/tips/manejo-de-una-base-de-datos-sqlite-con-...

PLC

unread,
Nov 13, 2009, 7:27:52 AM11/13/09
to madeinflex

DevCH

Yo cuando quiero ingresar la fecha del momento del air lo hago de esta
manera

DATETIME('NOW','localtime')

Para ingresar una fecha x

Sería '2009-10-29 10:20:00' o '2009-10-29'


Para leerlo de la base lo hago de la siguiente forma


strftime(\"%Y-%m-%d\", campo_fecha_ing)

strftime(\"%Y-%m-%d %H:%M:%S\", campo_fecha_ing)


SL2


On 13 nov, 05:47, Valdemar De Matos <valdemar.ma...@gmail.com> wrote:
> Hola DevCH.
>
> He estado trabajando con algo similar y mi bd la encuentro en esta ruta:
> /Users/[nombredeusuario]/Library/Preferences/[nombredeproyecto]/Local
> Store/bd.sql3
>
> Pero en realidad esto solo me ha servido para borrarla de forma a crear una
> limpia, ya que los datos están encriptados y no se pueden editar.
>
> He probado utilizar una herramienta para editar bases de datos SQLite:http://www.dehats.com/drupal/?q=node/58
> pero no me ha funcionado, no me reconocía mi contraseña y no me la ha podido
> abrir.
>
> Las fechas las introducía 'manualmente', a través de strings.
> Algo como:
> var fecha:String = dia+"-"+mes"-"+ano;
> fecha VARCHAR(10)
>
> Saludos
> - Valdemar
>
> 2009/11/13 Joaquin Caro <jcaro...@gmail.com>
>
>
>
> > sqlite necesita las fechas en formato yyyy-mm-dd así debería funcionarte.
> > Saludos
>
> > El 13/11/09, DevCH <chidalgor1...@gmail.com> escribió:
>
> > > Hola a todos, le cuento que estoy desarrollando una pequeña aplicación
> > > de Adobe Air y SQLite dentro de las tablas, hay una que tiene un campo
> > > fecha, dicho campo lo inserto de la siguiente manera:
>
> > > INSERT INTO mitabla(fecha)values(11-11-2009)
>
> > > No genera error, guarda el dato, pero cuando lo obtengo y lo pongo en
> > > un Datagrid me aparece como "16 de Abril de 1857" mas o menos así,
> > > dependiendo del dato pasado; pero a lo que voy es que ni siquiera se
> > > aproxima a la fecha señalada o algo parecido; en intentado de esta
> > > forma:
>
> > > INSERT INTO mitabla(fecha)values('11-11-2009'), pero me marca error de
> > > tipo de datos.
>
> > > Mi duda es, será que en AIR hay algún formato en particular en como
> > > guardar un dato fecha en un campo Date?. Y por si fuera poco no logro
> > > encontrar la DB ya que la estructura la crea el mismo programa y el
> > > mismo programa la alimenta, lo bajé de aquí:
>
> >http://www.cristalab.com/tips/manejo-de-una-base-de-datos-sqlite-con-...

DevCH

unread,
Nov 13, 2009, 11:08:49 AM11/13/09
to madei...@googlegroups.com
Oka, buenos dias a todos, apenas voy llegando, he leido cada uno de sus comentarios, en un momento mas me pongo en marcha con sus sugerencias y les digo como me fué...

Saludos a todos y gracias por toda la ayuda proporcionada por todos...

DevCH

unread,
Nov 13, 2009, 1:30:55 PM11/13/09
to madei...@googlegroups.com
Hola Valdemar, con respecto a lo que me sugeriste: te comento lo siguiente:

La dirección: /Users/[nombredeusuario]/Library/Preferences/[nombredeproyecto]/Local Store/bd.sql3, es correcta, ahi encontré mi DB y por lo menos eliminé la DB, espero le sirva esto a alguien mas.

Hola a los demás.

Cuando exploré la DB, me di cuenta que el campo Fecha de tipo Date, por lo menos en mi DB llamada dbDatos.db en miTabla, guardó los datos de esta manera: 43423443, 323123 y algunos -532352. A saber que rayos es eso.

Ahora dado que dentro de las reglas de negocio de mi application tengo lo siguiente:

1.- Hacer ordenamiento  por el campo Fecha o Fecha, IdMovto, etc.
2.- Busqueda por el mismo campo Fecha.

Estoy pensando que SQLite no esta lo suficientemente robusta como para soportar gran volumen de datos y mucho menos todo lo que tienen Db como MySQL, SQLServer o el mismísimo Postgress. Pero habrá alguna manera de que convivan en armonía AIR y MySQL por ejemplo?

Como estoy consciente que mis conocimiento de AIR y SQLite son aun muy limitados, me gustaría que me ayudaran aclarar estos puntos de mucho interés para mi y creo que servirá para enriquecer la base de conocimientos de este foro y de sus miembros.

Saludos a todos y como siempre espero su valiosa ayuda.

Ruben Requena

unread,
Nov 14, 2009, 1:40:03 PM11/14/09
to madei...@googlegroups.com
Hola.. tengo programa en AIR y SQLite y evidentemente el formato de fecha que debes ingresar es yyyy-mm-dd
y aunque el campo en vez de ser tipo Date es Text.. igual me sirve para filtrar los registros entre una fecha y otra..

con respecto a lo de SQLite como una base de datos robusta, tengo poco tiempo aprendiendo a usarla con AIR.. pero mi base de datos tiene mas de 1600 registros y me es muy eficiente aun.. 

Yo tambien tengo muchos puntos que quisiera aclarar ^^.. pero me ha ido muy bien el AIR con el SQLite.. ya que no necesita algun programa de puente ni instalaciones adicionales..

Espero poder sido de ayuda.. cualquier duda estoy aquí para compartir mis conocimientos :)

DevCH

unread,
Nov 15, 2009, 1:56:39 AM11/15/09
to madei...@googlegroups.com
Hola Rubén, con respecto a la comparación de fechas me refería a esto:

<code>

loF1 = "2009-11-01"
loF2 = "2009-11-30"
select * from movimientos where fecha between loF1 and loF2 limit 10 

</code>

Se podría hacer esto siendo el campo Fecha del tipo Text? si es así, como podría hacer dicha comparación respetando los estándares de SQL.

___

En lo personal, 1600 registros me parecen (punto de vista particular) que son muy pocos, creo que incluso en la era del dBase eran muy pocos para evaluar su desempeño.
Eso es lo que me gustaría saber, el tamaño máximo en cardinalidad y profundidad de las tablas de SQLite.

Saludos amigos.

Ruben Requena

unread,
Nov 15, 2009, 9:41:36 AM11/15/09
to madei...@googlegroups.com
mmm bueno si.. realmente 1600 registros son algo poco.. ^^ pero ahí voy!

y pues si.. evidentemente ese es el formato correcto de la sentencia SQL.. 

solo que en vez de tener campos en tipo Date los usas Text. y desde el AS3 quedaria algo asi..

select * from movimientos where fecha between "loF1" and "loF2" limit 10 

a mi me funciona perfectamente de esa manera.. 

por ejemplo este es un fragmento de una de mis sentencias de conexión

public function getDatosFecha(Inicio:String, Final:String):ArrayCollection {
sqlStat.text = 'SELECT *, COUNT(*) Cant FROM Elementos WHERE '
'Fecha BETWEEN "'+Inicio+'" AND "'+Final+'" GROUP BY Nombre ORDER BY Nombre';
sqlStat.execute();
return new ArrayCollection(sqlStat.getResult().data);
}

espero sea de ayuda..

Felipe Jara Henriquez

unread,
Nov 16, 2009, 11:30:32 AM11/16/09
to madei...@googlegroups.com
Hola a todos tengo una consulta sobre el uso del videodisplay.
viendo algunos códigos, para ocupar este objeto nos piden que se ocupe
un video en formato FLV.
el problema se basa en que estoy probando 10 video de los cuales 3 se
ven.
hay que tener alguna referencia al momento de ocupar los video en FLV,
o alguna versión del video
si alguien sabe algo se lo agradecería


Atte Felipe Jara H.

Ruben Requena

unread,
Nov 17, 2009, 7:07:01 AM11/17/09
to madei...@googlegroups.com
Hola.. Mmm, me parece extraño que se vean unos vídeos y otros no..
Podrías subir en algún lugar uno o dos vídeos de los que no se ven?
Asi podríamos saber si es el flv o que estas pasando algo por alto..

El 16/11/09, Felipe Jara Henriquez <fel...@gmail.com> escribió:
--
Enviado desde mi dispositivo móvil

Firma:

Silver ! 1001101001

DevCH

unread,
Nov 17, 2009, 10:06:58 AM11/17/09
to madei...@googlegroups.com
Hola Rubén, aunque en realidad a mi se me hace raro la forma en la que SQLite trata a los campos tipo Date, tu ejemplo sin duda alguna me servirá de mucho al enfrentarme a situaciones similares.

Saludos...

Ruben Requena

unread,
Nov 17, 2009, 10:42:12 AM11/17/09
to madei...@googlegroups.com
Definitivamente a mi también me pareció extraño esa manera de manejar las fechas.. y que tenga que guardarlas como text en vez de Date.. como debería ser.. te puedo asegurar que así funciona perfectamente. aun así de vez en cuando busco documentación sobre el porque no puedo usar el tipo Date como de costumbre.. 

--
Firma:

Silver ! 1001101001
Reply all
Reply to author
Forward
0 new messages