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

Problema con fechas

Estas en el tema de Problema con fechas en el foro de .NET en Foros del Web. Hola resulta que tenia mi aplicacion funcionando sin problemas pero tuve que reinstalar Visual Studio 2008 y ahora cuando hago inserts me dan puros errores ...
  #1 (permalink)  
Antiguo 11/07/2010, 18:05
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Problema con fechas

Hola resulta que tenia mi aplicacion funcionando sin problemas pero tuve que reinstalar Visual Studio 2008 y ahora cuando hago inserts me dan puros errores de fechas, revisando descubri que ahora me esta insertando en otro orden la fecha, me explico:

Antes cuando yo insertaba una fecha quedaba asi en la BD: 11/07/2010 0:00:00 (ejemplo)

ahora cuando uso el mismo codigo queda como : 07/11/2010 0:00:00

Basicamente se intercambia el dia con el mes y yo no he hecho ningun cambio en el codigo, entonces supongo sera alguna opcion del VS?

Gracias por cualquier sugerencia.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.

Última edición por Highlander; 11/07/2010 a las 18:11
  #2 (permalink)  
Antiguo 12/07/2010, 07:55
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Problema con fechas

revisa la cultura en tu aplicacion. CultureInfo ci = new CultureInfo("es-CL");
lo otro que puede estar pasandpo, es que tu BD haya cambiado el formato en que acepta las fechas, eso depende de como le estes pasando la fecha en el SP al motor.
Plch
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...
  #3 (permalink)  
Antiguo 12/07/2010, 08:05
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Problema con fechas

Hola Highlander

Yo hago lo siguiente para no tener problemas porque no en todas las máquinas manejan el mismo idioma ni el mismo formato.

Código vb:
Ver original
  1. Dim Fecha As String
  2.  
  3. Dim MiFecha As Date = Date.Now
  4.  
  5. Fecha = MiFecha.ToString("dd-MM-yyy")
  #4 (permalink)  
Antiguo 12/07/2010, 08:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con fechas

¿Y cómo haces para guardar la fecha en la base?
¿Parametrizas el SqlCommand o creas la sentencia como una cadena de texto?
¿Qué DBMS usas? Supongo que te estás refiriendo a SQL Server, pero de todos mdoso no está de más preguntar...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 12/07/2010, 10:08
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Problema con fechas

Inserto con una funcion, el dtpFecha.Value

Código:
INSERT INTO TurnosPeluqueria (CodigoVeterinario, Fecha) VALUES(@CodigoVeterinario @Fecha)"

Try

            cmd = New SqlCeCommand(sql, conexionSql)

            cmd.Parameters.AddWithValue("@CodigoVeterinario", CodigoVeterinario)
            cmd.Parameters.AddWithValue("@Fecha", Fecha)

            Result = cmd.ExecuteNonQuery()
Uso SqlServer Express 3.5

Donde veo lo de la cultura de la aplicación?

El error que recibo es: SYNTAX ERROR IN DATE FORMAT ( EXPRESSION = 18/06/2010 )

Lo curioso es que en ningun momento estoy enviado esa fecha, sino que 12/07/2010

Gracias por responder.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.

Última edición por Highlander; 12/07/2010 a las 10:26
  #6 (permalink)  
Antiguo 12/07/2010, 10:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con fechas

Si "Fecha" es un string, entonces estás forzando al conector a tratarlo como tal, lo que pouede generar un conflicto con la cultura en subproceso.
Pásale el parámetro como variable de clase Date, tal y como viene de origen, de esa forma el conector es el que resuelve el problema del formato.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 12/07/2010, 10:43
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Problema con fechas

Segun entiendo el fecha que envio a la funcion no es un string (supongo) ya que es el valor directo del datetimepicker: dtpFecha.Value

o te refieres que en la funcion donde recibo la fecha debo declarar que es un tipo date y no tratarlo como objeto (ya que no declare ahi los tipos de datos de los parametros) ?

OK ya corregi algunos de los errores cambie dtpFecha.text por dtpFecha.Value lo cual me trajo otros errores relacionados a fechas ya que en sql server express solo existe datetime, pero no se como hacer para buscar ya sea solo por fecha o solo por la hora.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.

Última edición por Highlander; 12/07/2010 a las 11:26
  #8 (permalink)  
Antiguo 13/07/2010, 10:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 21
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problema con fechas

para buscar puede utilizar el datepart de Sql ser el cual sirve para separar el datetime.


espero le sirva

Etiquetas: fechas
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:46.