Autor |
Mensaje |
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 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, 21:07; editado 1 vez
|
#1 Jueves, 03 May 2012, 03:45 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Error Al Ordenar Campos Squlite
esta ordenando el numero como si fuera string
|
#2 Jueves, 03 May 2012, 08:16 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 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".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#3 Jueves, 03 May 2012, 11:24 |
|
|
marcopc
Usuario
Registrado: Septiembre 2011
Mensajes: 33
Edad: 49
|
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, 15:04 |
|
|
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 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, 22:33 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 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, 16:11 |
|
|
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 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, 21:06 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 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, 22:21 |
|
|
|