Archivo por meses: junio 2016

Érase una vez hace 59 años

Pues eso… érase una vez el 7 de junio de 1957 a las 9 de la mañana me parió mi madre (q.e.p.d.) con cinco kilos y medio de peso… ¡pobre mamá! por lo menos se alegró al “echarme” Sonrisa

Aquí te dejo un par de fotos del 9 de junio, dos días después del “acontecimiento” (estas mismas fotos las he publicado en mi muro de Facebook) pero te las dejo aquí para que no tengas que moverte mucho… Guiño

 

C100212-10089_rec_900x684_edited
Con mi madre…

 

C100212-10088_rec_900x672_edited
En brazos de mi hermana Riti…

 

C100212-10089_rec_guille_280x280_edited
La foto que he puesto en el perfil… ¡jum!

 

 

¡Nos seguimos viendo!
Guillermo

Cuidado con las horas de las fechas en las consultas de SQL

Pues eso… que esto de las fechas en las consultas es como el cuento de nunca acabar… al menos para mí, jeje.

Lo que me ha pasado esta vez es que he estado usando fechas en una consulta y, como ya comenté hace años, la mejor forma de pasarlas a la consulta de SQL es usando parámetros, hasta aquí todo bien.

' Crear un nuevo objeto del tipo DataAdapter
da = New SqlDataAdapter(sel, sCon)
da.SelectCommand.Parameters.AddWithValue("@fecha1", fecha1)
da.SelectCommand.Parameters.AddWithValue("@fecha2", fecha2)

En esta ocasión, las fechas las he pasado como argumento a un método normal con el tipo de datos de las fechas (DateTime o Date en VB). Aclaro esto porque cuando se convierte un objeto del tipo fecha a una cadena (que es lo que supongo que hace el SQL cuando va a trabajar con la fecha) ese objeto del tipo fecha se convierte en una fecha y una hora (ver la figura 1).

fechas_sql_02jun2016_peq
Figura 1. Los objetos de tipo Date (DateTime) contienen la fecha y la hora.

En este ejemplo, el valor pasado en el primer argumento tiene la fecha y la hora a las 12 de la madrugada, es decir a las 00:00:00 que es lo que ocurre cuando conviertes una fecha de cadena a tipo DateTime.

Pero si la fecha la obtienes, por ejemplo, de un DateTimePicker o simplemente usando DateTime.Now que obtiene la fecha (y hora) actual. En el caso de que ese valor se obtenga a la hora en que escribo esto, mostrará un valor de fecha 2 de junio de 2016 y la hora 13 (01 PM) y 24 minutos con nosecuantos segundos (ver la figura 2).

fechas_sql_02jun2016_2
Figura 2. Now devuelve la fecha y hora actual completa.

En este caso la propiedad Now del objeto fecha devuelve la fecha y la hora actual, y lo que hace la función esa que muestro en la figura 2 (NowDate) es devolver solo la fecha, sin hora… aunque la hora siempre está, pero si no se indica será 00:00:00 (media noche).

Bueno, espero que te pueda servir de ayuda en casos como el que me pasó a mí, que aún habiendo un dato (de la misma fecha en la que hacía la comprobación) no me lo mostraba porque la hora era (por ejemplo las 9 de la noche) y esa fecha no era igual (o menor) que la que estaba guardada en la base de datos (que era el mismo día, pero a las cero horas), en fin…

Nos vemos.
Guillermo

Cuidado con las horas de las fechas en las consultas de SQL

Pues eso… que esto de las fechas en las consultas es como el cuento de nunca acabar… al menos para mí, jeje.

Lo que me ha pasado esta vez es que he estado usando fechas en una consulta y, como ya comenté hace años, la mejor forma de pasarlas a la consulta de SQL es usando parámetros, hasta aquí todo bien.

' Crear un nuevo objeto del tipo DataAdapter
da = New SqlDataAdapter(sel, sCon)
da.SelectCommand.Parameters.AddWithValue("@fecha1", fecha1)
da.SelectCommand.Parameters.AddWithValue("@fecha2", fecha2)

En esta ocasión, las fechas las he pasado como argumento a un método normal con el tipo de datos de las fechas (DateTime o Date en VB). Aclaro esto porque cuando se convierte un objeto del tipo fecha a una cadena (que es lo que supongo que hace el SQL cuando va a trabajar con la fecha) ese objeto del tipo fecha se convierte en una fecha y una hora (ver la figura 1).

fechas_sql_02jun2016_peq
Figura 1. Los objetos de tipo Date (DateTime) contienen la fecha y la hora.

En este ejemplo, el valor pasado en el primer argumento tiene la fecha y la hora a las 12 de la madrugada, es decir a las 00:00:00 que es lo que ocurre cuando conviertes una fecha de cadena a tipo DateTime.

Pero si la fecha la obtienes, por ejemplo, de un DateTimePicker o simplemente usando DateTime.Now que obtiene la fecha (y hora) actual. En el caso de que ese valor se obtenga a la hora en que escribo esto, mostrará un valor de fecha 2 de junio de 2016 y la hora 13 (01 PM) y 24 minutos con nosecuantos segundos (ver la figura 2).

fechas_sql_02jun2016_2
Figura 2. Now devuelve la fecha y hora actual completa.

En este caso la propiedad Now del objeto fecha devuelve la fecha y la hora actual, y lo que hace la función esa que muestro en la figura 2 (NowDate) es devolver solo la fecha, sin hora… aunque la hora siempre está, pero si no se indica será 00:00:00 (media noche).

Bueno, espero que te pueda servir de ayuda en casos como el que me pasó a mí, que aún habiendo un dato (de la misma fecha en la que hacía la comprobación) no me lo mostraba porque la hora era (por ejemplo las 9 de la noche) y esa fecha no era igual (o menor) que la que estaba guardada en la base de datos (que era el mismo día, pero a las cero horas), en fin…

Nos vemos.
Guillermo

Cuidado con las horas de las fechas en las consultas de SQL

 

Pues eso… que esto de las fechas en las consultas es como el cuento de nunca acabar… al menos para mí, jeje.

Lo que me ha pasado esta vez es que he estado usando fechas en una consulta y, como ya comenté hace años, la mejor forma de pasarlas a la consulta de SQL es usando parámetros, hasta aquí todo bien.

 

' Crear un nuevo objeto del tipo DataAdapter
da = New SqlDataAdapter(sel, sCon)
da.SelectCommand.Parameters.AddWithValue("@fecha1", fecha1)
da.SelectCommand.Parameters.AddWithValue("@fecha2", fecha2)

 

En esta ocasión, las fechas las he pasado como argumento a un método normal con el tipo de datos de las fechas (DateTime o Date en VB). Aclaro esto porque cuando se convierte un objeto del tipo fecha a una cadena (que es lo que supongo que hace el SQL cuando va a trabajar con la fecha) ese objeto del tipo fecha se convierte en una fecha y una hora (ver la figura 1).

fechas_sql_02jun2016_peq
Figura 1. Los objetos de tipo Date (DateTime) contienen la fecha y la hora.

En este ejemplo, el valor pasado en el primer argumento tiene la fecha y la hora a las 12 de la madrugada, es decir a las 00:00:00 que es lo que ocurre cuando conviertes una fecha de cadena a tipo DateTime.

Pero si la fecha la obtienes, por ejemplo, de un DateTimePicker o simplemente usando DateTime.Now que obtiene la fecha (y hora) actual. En el caso de que ese valor se obtenga a la hora en que escribo esto, mostrará un valor de fecha 2 de junio de 2016 y la hora 13 (01 PM) y 24 minutos con nosecuantos segundos (ver la figura 2).

fechas_sql_02jun2016_2
Figura 2. Now devuelve la fecha y hora actual completa.

En este caso la propiedad Now del objeto fecha devuelve la fecha y la hora actual, y lo que hace la función esa que muestro en la figura 2 (NowDate) es devolver solo la fecha, sin hora… aunque la hora siempre está, pero si no se indica será 00:00:00 (media noche).

 

Bueno, espero que te pueda servir de ayuda en casos como el que me pasó a mí, que aún habiendo un dato (de la misma fecha en la que hacía la comprobación) no me lo mostraba porque la hora era (por ejemplo las 9 de la noche) y esa fecha no era igual (o menor) que la que estaba guardada en la base de datos (que era el mismo día, pero a las cero horas), en fin…

Nos vemos.
Guillermo