Foros del Web » Programación para mayores de 30 ;) » .NET »

DateTime gira los datos de Dia y Mes

Estas en el tema de DateTime gira los datos de Dia y Mes en el foro de .NET en Foros del Web. Hola, Estoy peleándome con una SELECT que incluye un DateTime que me gira el DIA y el MES. Os pongo el código en cuestión: Código: ...
  #1 (permalink)  
Antiguo 02/07/2013, 10:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta DateTime gira los datos de Dia y Mes

Hola,

Estoy peleándome con una SELECT que incluye un DateTime que me gira el DIA y el MES.

Os pongo el código en cuestión:

Código:
        Dim date1 As New DateTime(2012, 8, 1, 16, 32, 18)
        Dim date2 As New DateTime(2013, 6, 1, 16, 32, 18)

      sql = "SELECT ReservasExcursion.Id, ReservasExcursion.IdExcursion, Excursiones.Dia, Excursiones.Exclusiva, ReservasExcursion.IdSubCliente, Subclientes.Empresa, ExtrasExcursion.IdExtra, ExtrasExcursion.Concepto, ExtrasExcursion.Cantidad AS Cantidad, ExtrasExcursion.Precio AS Precio, ROUND((Cantidad*Precio),2)  AS Total FROM ((ReservasExcursion INNER JOIN Excursiones ON ReservasExcursion.IdExcursion = Excursiones.Id) INNER JOIN Subclientes ON ReservasExcursion.IdSubCliente = Subclientes.Id) LEFT JOIN ExtrasExcursion ON ExtrasExcursion.IdExcursion=ReservasExcursion.IdExcursion WHERE((Excursiones.Exclusiva = True)  AND (Excursiones.Dia BETWEEN   #" & date1 & "# AND #" & date2 & "# )) ORDER BY ReservasExcursion.IdExcursion, ReservasExcursion.IdSubCliente "

Mi problema es que si por ejemplo creo los DateTime con los valores:

Dim date1 As New DateTime(2012, 8, 18, 16, 32, 18) //18 agosto 2012
Dim date2 As New DateTime(2013, 6, 18, 16, 32, 18) // 18 junio 2013

Me hace bien la select. Pero cuando utilizo fechas en que el día es inferior o igual 12 (como si lo confundiera con el mes) no selecciona bien. Os dejo un ejemplo para que me entendáis:

Dim date1 As New DateTime(2012, 11, 5, 16, 32, 18) // 5 noviembre 2012
Dim date2 As New DateTime(2013, 6, 5, 16, 32, 18) // 5 junio 2013
SELECCIONA ENTRE 12/5/2012 y 5/5/2013 (dia/mes/año)


Alguien se ha encontrado con este problema??? No entiendo porque se hace un lio y me gira los datos :S

Muchas gracias
  #2 (permalink)  
Antiguo 02/07/2013, 12:07
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: DateTime gira los datos de Dia y Mes

numero 1 en vez de tirar ese select horrible y lleno de definiciencias de seguridad (como por ejemplo totalmente susceptible a inyeccion de SQL) deberias usar un ORM.

numero 2 fijate el System.Threading.Thread.CurrentThread.CurrentCultu re que te va a devolver la cultura con la cual esta funcionando tu codigo. Y comparala con el Collation de la instancia de SQL Server que estes usando
  #3 (permalink)  
Antiguo 02/07/2013, 12:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: DateTime gira los datos de Dia y Mes

Gracias por contestar,
Lo de ORM no lo entiendo muy bien pero bueno, cosas de ser novato.

En cuanto a lo de CurrentCulture me dice que trabajo con es-ES

Lo del Collation como se mira en Access? para comparar si está en español. Lo estoy buscando y no lo encuentro.


Cita:
Iniciado por HighCore Ver Mensaje
numero 1 en vez de tirar ese select horrible y lleno de definiciencias de seguridad (como por ejemplo totalmente susceptible a inyeccion de SQL) deberias usar un ORM.

numero 2 fijate el System.Threading.Thread.CurrentThread.CurrentCultu re que te va a devolver la cultura con la cual esta funcionando tu codigo. Y comparala con el Collation de la instancia de SQL Server que estes usando
  #4 (permalink)  
Antiguo 07/07/2013, 12:19
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: DateTime gira los datos de Dia y Mes

Hola de nuevo,

Alguien puede ayudarme? Sigo con el problema de las fechas y no encuentro la solución.

Pongo un breakpoint en la sentencia SQL y me muestre la variable date1 y date2 correctamente :( no se si el problema estará en el idioma que lo entiende la base de datos??

Muchas gracias.

Etiquetas: datetime, dia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:09.