problema con fechas

17/10/2006 - 09:08 por Antonio | Informe spam
Hola, realizo una consulta a una base de datos en access a traves de una
pagina ASP.NET 1.1 para conseguir la fecha inicio y fecha fin hago esto

Dim st As String
Dim stfechaI As String
Dim stfechaF As String

st =
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
stfechaI = DateTime.Now.ToUniversalTime().Subtract(New TimeSpan(iNum, 0, 0,
0)).ToString(st)
stfechaF = DateTime.Now.ToUniversalTime().ToString(st)

Funciona bien, tendria stFechaI = 11/10/2006 stFechaF = 17/10/2006

Pero al ejecutarlo en access me cambia la stFechaI por 10/11/2006 cuando
estoy averiguando la configuración del servidor ¿alguna sugerencia?

Gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
17/10/2006 - 13:34 | Informe spam
"Antonio" wrote in message
news:
Hola, realizo una consulta a una base de datos en access a traves de una
pagina ASP.NET 1.1 para conseguir la fecha inicio y fecha fin hago esto

Dim st As String
Dim stfechaI As String
Dim stfechaF As String

st > System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
stfechaI = DateTime.Now.ToUniversalTime().Subtract(New TimeSpan(iNum, 0,
0,
0)).ToString(st)
stfechaF = DateTime.Now.ToUniversalTime().ToString(st)

Funciona bien, tendria stFechaI = 11/10/2006 stFechaF = 17/10/2006

Pero al ejecutarlo en access me cambia la stFechaI por 10/11/2006 cuando
estoy averiguando la configuración del servidor ¿alguna sugerencia?



Sugerencia: En lugar de hacer la consulta concatenando la fecha en modo
texto, parametriza la sentencia y pasa la fecha como DateTime, y deja que
sea el OleDb el que la convierta de la manera más adecuada:

Dim consulta as String = "Select * from laTabla where Fecha>=? and
Fecha<=?"
Dim cmd as New OleDbCommand(consulta, conexion)
cmd.Parameters.Add("fechaI", DateTime.Now.ToUniversalTime().Subtract(New
TimeSpan(iNum, 0, 0,
0)))


cmd.Parameters.Add("fechaF", DateTime.Now.ToUniversalTime())
... (Ejecutar el cmd) ...
Respuesta Responder a este mensaje
#2 Antonio
17/10/2006 - 17:12 | Informe spam
Muchas gracias Alberto, me parece una solución perfecta

"Alberto Poblacion [MVP]" wrote:

"Antonio" wrote in message
news:
> Hola, realizo una consulta a una base de datos en access a traves de una
> pagina ASP.NET 1.1 para conseguir la fecha inicio y fecha fin hago esto
>
> Dim st As String
> Dim stfechaI As String
> Dim stfechaF As String
>
> st > > System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
> stfechaI = DateTime.Now.ToUniversalTime().Subtract(New TimeSpan(iNum, 0,
> 0,
> 0)).ToString(st)
> stfechaF = DateTime.Now.ToUniversalTime().ToString(st)
>
> Funciona bien, tendria stFechaI = 11/10/2006 stFechaF = 17/10/2006
>
> Pero al ejecutarlo en access me cambia la stFechaI por 10/11/2006 cuando
> estoy averiguando la configuración del servidor ¿alguna sugerencia?

Sugerencia: En lugar de hacer la consulta concatenando la fecha en modo
texto, parametriza la sentencia y pasa la fecha como DateTime, y deja que
sea el OleDb el que la convierta de la manera más adecuada:

Dim consulta as String = "Select * from laTabla where Fecha>=? and
Fecha<=?"
Dim cmd as New OleDbCommand(consulta, conexion)
cmd.Parameters.Add("fechaI", DateTime.Now.ToUniversalTime().Subtract(New
TimeSpan(iNum, 0, 0,
> 0)))
cmd.Parameters.Add("fechaF", DateTime.Now.ToUniversalTime())
... (Ejecutar el cmd) ...




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida