Jump to content

problema con búsqueda de fecha con MySQL y visual 2012 .net


Recommended Posts

amigos por favor necesito ayuda....

 

lo que pasa es que tengo que bucar un rango de fecha en Mysql y no se como hacerlo por ejemplo tengo una vista en MySql donde tengo 5 columnas de las cales una se llama fecha...(al ser una vista los datos los llamo de 2 tablas y el campo de fecha de la tabla lo deje como varchar) entonces en la vista ese campo fecha me queda en varchar tambien..........

 

ya tengo un datetimerpiker el cual en formato corto osea 13-06-2012.... y un boton lo que tiene que hacer el codigo del boton es tomar la fecha del datetimer piker y buscar todos los registro entre la fecha del datetimerpiker hasta 3 años atras eso lo hago con unos lavel los cuales si tengo en el datetimerpiker 13-06-2012 me queda asi ..

 

label1.text = 13-06-1012

y

label2.text = 13-07-2009

 

osea quiero buscar todos los registros que esten entre esas fechas y no se como ya que el campo no es date como puedo hacerlo???????

 

trate asi y no me aparece nada :S

 

"select * from alumcertiemitido where fechaemitido between '" & Label1.Text & "' and '" & Label2.Text & "'"

espero me puedan ayudra :$

Link to comment
Share on other sites

Eso pasa porque las fechas en Mysql se almacenan del siguiente modo:

- en vez de 13-07-2009 la guarda como 2009-07-13

 

Tu consulta podría ser asi:

 

SELECT campo1,campo2,campo3,campo4, DATE_FORMAT(fechaemitido,'%d-%m-%Y') AS Fecha where Fecha BETWEEN '" & Label1.Text & "' and '" & Label2.Text & "'"

 

Lo otro sería formatear la fecha que obtienes del datetimepicker antes de enviarla a la consulta SQL.

 

Saludos :krider:

Link to comment
Share on other sites

No pos....debe ir como date en la BD Mysql si o si y para insertar usa un insert con date format:

DATE_FORMAT(datetimepicker.text,'%Y-%m-%d') AS fecha_a_guardar_en_bd o algo similar....asi formateas la fecha al formato a a guardar en Mysql o bien la formateas por código antes de hacer el insert.....una vez tengas bien tu BD podrás usar la consulta que te deje en mi otro post.

 

Saludos :krider:

Link to comment
Share on other sites

:mmm: Si quieres dejar tu base de datos tal cual y no tener que cambiar el tipo de dato de VARCHAR a DATE, se debería poder hacer una consulta como la que quieres, sólo tienes que guardar la fecha de forma conveniente.

O sea, si guardas las fechas como VARCHAR de la forma "YYYYMMDD", se pueden comparar fechas y verificar rangos de fechas. Por ejemplo, mira las siguientes cadenas:

 

"20031225" > "20030918"

 

...que, en palabras, sería "La navidad del 2003 es mayor que las fiesta patrias del 2003", y que en rigor debería interpretarse como "La navidad del 2003 es posterior a las fiestas patrias del 2003" :tonto:

 

Obviamente, es aun más conveniente guardar las fechas de la forma "YYYYMMDD" en un tipo de dato entero (es más eficiente). Es decir, podrías haber declarado el campo como INT4 (o como sea que se llame en MySQL) y expresar la fecha de hoy (14 de junio del 2012) como el número entero 20120614 (20 y tantos millones).

 

Ojo, debes tener en cuenta que el formato "YYYYMMDD" debe ser con ceros a la izquierda en caso de ser necesario, o sea, la fecha de hoy no se puede expresar como "2012614" :no: (falta un cero a la izquierda del 6).

Link to comment
Share on other sites

O FILTE PROBARE ESO YA QUE TRATO DE ABRIR LA LINEA DE COMANDO PARA MYSQL :s Y NO PUEDO PONGO LA CONTRASEÑA Y SE CIERRA :s ASI QUE CAMBIARE COMO SE GUARDA LA FECHA AYA QUE CON WORKBENCH NO CACHO COMO SE UTILIZA AL 100%

 

 

oe mira con el conector mysql .net veo la fecha normal en la base de datos onda 14-06-2012 si la coloco como tudices al reves onda año primero y al ultimo el dia me la cambia a como dije antes pero si me voy a la base de datos a la linea de comando y busco la fecha sale como dices tu y trato de hacer de todas formas esa consulta y no aparece nada :S y eso que cambie el campo a date...

 

SELECT campo1,campo2,campo3,campo4, DATE_FORMAT(fechaemitido,'%d-%m-%Y') AS Fecha where Fecha BETWEEN '" & Label1.Text & "' and '" & Label2.Text & "'"

 

ayuda pleas aparte de between que mas puedo hacer usar?

Edited by kuraudeo-batusay
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...