| Autor |
Mensaje |
Dani26 
Analista Programador

Registrado: Junio 2010
Mensajes: 376
Edad: 47 Ubicación:  Montevideo
|
 Error Al Ordenar Campos Sqlite(Solucionado)
Bien, el tema parece ser muy sencillo pero me trae hace días dando vueltas.
Cuando cargo un gridview con la sentencia condicional order by me pone la fecha 10 a continuación de la uno.
El campo en cuestión se llama Fecha, la tabla Fechas y en la base de datos su formato es Fecha 1,Fecha 2..........Fecha 15.
El código
hresu = hconn.Exec("Select * from Fechas order by Fecha ASC")
Funciona bien, salvo que luego de fecha 1 coloca la 10,11,12,13,14,15,2,3..........9.
¿Alguna sugerencia?
Gracias
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
última edición por Dani26 el Viernes, 04 May 2012, 22:07; editado 1 vez
|
#1 Jueves, 03 May 2012, 04:45 |
|
 |
Patrocinadores

|
|
 |
codificador 
Analista Programador

Registrado: Junio 2010
Mensajes: 328
Edad: 103 Ubicación:
|
 Re: Error Al Ordenar Campos Squlite
esta ordenando el numero como si fuera string
|
#2 Jueves, 03 May 2012, 09:16 |
|
 |
jguardon 
Administrador

Registrado: Septiembre 2009
Mensajes: 1479
Edad: 46 Ubicación:  Granada
|
 Re: Error Al Ordenar Campos Sqlite
Quizás estás guardando el campo fecha en un formato incorrecto. Sqlite trata internamente todos los campos como si fueran cadenas, así que tendrás que emplear el formato de fecha yyyy-mm-dd para que queden correctamente ordenadas. El campo fecha de tu bd tiene que estar declarado como tipo date y usando la conversión de gambas a objeto date no tendrás problemas.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
|
#3 Jueves, 03 May 2012, 12:24 |
|
 |
marcopc 
Usuario

Registrado: Septiembre 2011
Mensajes: 32
Edad: 38
|
 Re: Error Al Ordenar Campos Sqlite
Prueba con esto:
hresu = hconn.Exec("Select * from Fechas order by datetime(Fecha) ASC")
|
#4 Jueves, 03 May 2012, 16:04 |
|
 |
Dani26 
Analista Programador

Registrado: Junio 2010
Mensajes: 376
Edad: 47 Ubicación:  Montevideo
|
 Re: Error Al Ordenar Campos Sqlite
Amigos, gracias por responder. El problema que no puedo usar el formato date porque no se trata de fechas del año, sino de etapas de un torneo deportivo. Pobré poner etapa 1, etapa 2 y así pero sigue igual. Creo que voy a tener que poner el dato como numérico y que aparezca solo el número sin el "fecha" en el grid, casa que funciona pero que no quería hacer por un tema más que nada de gusto personal.
Seguire probando.
Saludos
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
|
#5 Jueves, 03 May 2012, 23:33 |
|
 |
jsbsan 
Analista Programador

Registrado: Septiembre 2009
Mensajes: 2062
Edad: 40 Ubicación:  dos hermanas, sevilla
|
 Re: Error Al Ordenar Campos Sqlite
Puedes poner tambien:
etapa 01, etapa 02, etapa 03..... etapa 99
Asi si te lo ordenará, (con el limite de 100, claro)
Saludos
|
#6 Viernes, 04 May 2012, 17:11 |
|
 |
Dani26 
Analista Programador

Registrado: Junio 2010
Mensajes: 376
Edad: 47 Ubicación:  Montevideo
|
 Re: Error Al Ordenar Campos Sqlite
Gracias,Jsbsan, por qué será que las soluciones más sencillas suelen ser las más difíciles de ver. No lo he podido probar aún, pero la lógica me dice que va a servir.
Saludos
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
|
#7 Viernes, 04 May 2012, 22:06 |
|
 |
codificador 
Analista Programador

Registrado: Junio 2010
Mensajes: 328
Edad: 103 Ubicación:
|
 Re: Error Al Ordenar Campos Sqlite(Solucionado)
otra manera es llenar la grid con codigo sin usar la coneccion directa
solo guardar en la db el dato basico y cambiarle el formato con codigo
en este caso guardar el nº y al llenar la grid agregar la palabra etapa
|
#8 Viernes, 04 May 2012, 23:21 |
|
 |
|
|