¿Búsqueda SQL por Fecha?
Saludos amigos foristas....
el problema que tengo es que no se como ordenar una búsqueda sql por fecha tengo un formulario con un radiogroup que tiene varias opciones para ordenar en el mismo formulario tengo un dbgrid en el cual se muestra el resultado obtenido de el boton presionado del radiogroup y lo que escribi en el edit1.text pero necesito hacer un boton en ese radiogroup que se llame FECHA y necesito que haga lo siguiente: cuando yo seleccione la opcion FECHA y en el edit1.text coloque xx/xx/xxxx en el dbgrid se muestren los registros que tengan esa fecha mientras que toque ordenar por cadena de caracteres todo bien pero necesito saber como lo ordeno por la fecha escrita en el edit1.text!! gracias Adelantadas!! |
|
el campo por el cual quiero ordenar los registros se llama fec_ini es de tipo DATE y da error el código que me acabas de facilitar
mi tabla se llama db dice is not a valid date osea que no es una fecha valida y el código adaptado a mi programa quedó así
¿en que estoy fallando? |
Estoy intentando con este otro código y tambien da error:
:confused: |
intenté tambien con:
pero sigue sin funcionar :( |
Quizas no lo entiendo, pero si quieres ordenar deberias agregar una instruccion "order by" en tu sentencia sql, para que te lo ordene por los campos que quieres, en tu caso por fecha. Lo que estas haciendo con el "where" es solo limitar los registros que seleccionas.
|
Prueba este otro a ver si te vale:
Código Delphi [-]Query1.SQL.Clear; Query1.SQL.Add('SELECT * FROM db'); Query1.SQL.Add('WHERE fec_ini='+QuotedStr(Edit1.Text)); Query1.SQL.Add('ORDER by fec_ini'); Query1.Open; espero te sirva. |
No indicas que Base de Datos utilizas.
Hay algunas bases de datos que precisan que le pases el parámetro de la fecha en formato 'mm/dd/yyyy' y puede que por ahí venga el fallo que te indica que no es una fecha válida. Por otro lado, deberías por supuesto realizar una comprobación previa de que lo que se inserta en el TEdit corresponde a una fecha válida y en los formatos aceptados por tu Base de datos. |
El error viene dado debido a que lo que ingresaron en el edit1 no es una fecha valida. deberias validar antes de ejecutar la sentencia, y el primer ejemplo que te di te ahorras comprobar el formato de la fecha tal cual lo dice Gluglu.
|
|
sigo sin entender porque muchos quieren manejar fechas utilizar Tedit cuando pueden utilizar TDateTimePicker....
|
Cita:
|
gracias paladincubano tu código porfin resuleve la mitad de mi problema por que si ordena por fecha los registros pero
cuando voy al edit para escribir la fecha xx/xx/xxxx da error solo con pulsar cualquier tecla pero me imagino que ya es mas facil de resolver vuelvo a facilitar el código que uso para que porfavor me ayuden a completarlo gracias adelantadas :D
y para los amigos que sugieren el datetimepicker no lo uso por que ni siquiera sabia que existia y no tengo ni idea de como se usa pero si tienen una solucion con el datetimepicker es bienvenida gracias por su tiempo!! |
Cita:
Salud OS |
porfa ayundeme :(!!
|
Te toca investigar el uso del DateTimePicker1, y para que veas que no soy malo, ese objeto está en la pestaña Win32 ;) Salud OS |
sigue dando error :(
dice 'type mismatch in expression' este es el código que tengo espero me ayuden a conseguir mi falla
el radiobutton 0 es el que dice fecha el resto de opciones van a la perfeccion Gracias adelantadas!! |
A ver, dime una cosa, que tipo de campo es fec_ini, Date o String;
Salud OS |
fec_ini es tipo Date
tabla paradox 7 y uso delphi 7 Gracias! |
Cita:
Si no funciona y te sigue mandando error tal vez es el formato de fecha corta que esta usando la db, pero eso lo podrias resolver poniendo esta linea:
Prueba con ambas en caso de que no te funcione. Salud OS |
La franja horaria es GMT +2. Ahora son las 10:14:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi