ASP.NET - SqlDateTime overflow.

 
Vista:

SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 31/01/2007 10:21:30
Hola,
No entiendo a que se debe este error:
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. Me sale cuando voy a guardar un nuevo registro en la BBDD, no guardo ninguna fecha, solo el nombre, la dirección, la ciudad y el teléfono. El error me lo da en esta línea: DataRepository.EmployeesProvider.Save(contacto);
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SqlDateTime overflow.

Publicado por x (3 intervenciones) el 31/01/2007 14:23:05
¿tienes alguna feche en tu tabla?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 31/01/2007 19:21:10
Sí, tengo dos DateTime.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 31/01/2007 20:29:14
Haz probado pasarles valores para ver si te marca el error?, esta raro, trengo entendido que acepta valores nulos, tal vez sin que te des cuenta estas pasando valores para esos campos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 01/02/2007 09:38:53
He probado a pasarles valores y también dejandolos en blanco, porque pueden ser nulos, y ahora me da otro error:
String was not recognized as a valid DateTime.

Me da el error en estas líneas:
contacto.BirthDate = Convert.ToDateTime(txtFechaNacimiento.Text);
contacto.InDate = Convert.ToDateTime(txtFechaNacimiento.Text);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 01/02/2007 14:34:55
Pues entonces asugurate de que sea nulo, o de que tengas una fecha en los registros, mira directo en los datos de tu tabla, para que veas que es lo que estas guardando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 01/02/2007 16:58:28
todos los registros de la BBDD tienen fechas de la forma dd/mm/aa 0:00:00
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por isa (17 intervenciones) el 01/02/2007 17:26:57
A ver, un detalle que no sé si estás teniendo en cuenta. En C#, no existe el valor nulo del DateTime como tal, sino que guarda la fecha 01/01/1900. Esa fecha, si la intentas meter en base de datos, te va a dar un error, se me ocurre q puede ser por eso. Intenta meter otra fecha

De todas formas, si te sigue dando el error puede ser porque en la base de datos tengas la variable declarada como SmallDateTime, e intentas guardar una fecha que no cabe en el rango de valores de ese tipo, mira eso, si es así, prueba a cambiar el tamaño del campo en base de datos a DateTime.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 01/02/2007 17:41:28
Las variables declaradas en la BBDD son DateTime. Tanto al introducir, mediante variables declaradas como DateTime, las fechas como si no, cuando voy a guardar los datos en la BBDD me sale el error:
String was not recognized as a valid DateTime, en esta línea:
contacto.HireDate = Convert.ToDateTime(txtFechaSalida.Text);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 01/02/2007 17:47:37
¿cual seria el valor de txtFechaSalida.Text? (no el que tu creas, si no el que realmente tiene, checalo con debug o mandando a error, no se alguna otra forma de que consigas ese valor)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 01/02/2007 18:00:59
Acabo de poner un punto de ruptura en esa línea, y me coge el valor que le pongo, y ahora el error que me sale es el siguiente:
The INSERT statement conflicted with the FOREIGN KEY SAME TABLE constraint "FK_Employees_Employees". The conflict occurred in database "Northwind", table "dbo.Employees", column 'EmployeeID'.
Me voy a volver local.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 01/02/2007 18:07:47
Otra cosa rara que me hace si no pongo ninguna fecha, es ponerme por defecto la fecha 01/01/0001 0:00:00 y si pongo fechas me sale el error del INSERT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por ISABEL (17 intervenciones) el 01/02/2007 21:44:22
A ver, ese error generalmente da cuando intentas añadir un registro que necesita otro relacionado.
Para que me entiendas, imagina que tienes una tabla empleado, y una tabla hijos de empleado, si tu intentas insertar un hijo con clave de empleado 1 pero no tienes ese empleado dado de alta, te dará ese mismo error. Entonces puede ser que el error sea otro, vigila que no estas insertando un registro con clave que ya tienes en esa tabla, o que no estás insertarndo un registro sin tener el relacionado que te hace falta.

De todas formas, pro si este no es el error, yo en C# siempre hago lo siguiente, para añadir una fecha al campo:

Empleado.Fecha= DateTime.Parse(txtFecha.Text) ;

Esta es la forma en la que yo convierto la fecha, no se si esa conversión te puede estar fallando.

Dime si lo arreglas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 01/02/2007 22:05:27
para empezar... ¿que dbms estas utilizando? (como que se habia pasado por alto)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 02/02/2007 09:48:47
He hecho la conversión fechas que me has dicho, y no me da error si relleno esos campos, pero al guardarlos me da el error
The INSERT statement conflicted with the FOREIGN KEY SAME TABLE constraint "FK_Employees_Employees". The conflict occurred in database "Northwind", table "dbo.Employees", column 'EmployeeID'. Parece ser que cuando guardo el nuevo registgro en la BBDD me pone su identificador a 0, y ese registro ya existe.

Pero si no pongo ninguna fecha el error me lo da en las fechas, que me dice que no tienen un buen formato.

Tengo que decir que soy novata en esto y no me entero mucho, por lo que os doy las gracias a tí Isabel y a tí x por vuestra paciencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 02/02/2007 09:54:09
Perdón, con respecto a que cuando guardo el registro y me pone identificador 0 y que éste existe, no es verdad, no existe ninguno en la BBDD que tenga ese identificador, el primer registro es el 1. La clave primaria de esa tabla, que es el identificador de empleados es un entero y además le he puesto que cuando inserte un nuevo registro, ese identificador lo aumente automáticamente. Así que , no entiendo porqué me tiene que insertar el nuevo registro con el valor 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 02/02/2007 14:20:52
¿El identificador es autoincremental?....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 02/02/2007 14:25:19
si
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 02/02/2007 14:43:53
oye loli, ¿tienes correo msn?, es que como que esto va a crecer mas, y se me hace mas facil comuniucarnos asi, y si se corrige el prob, ponemos la solucion y ya
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 05/02/2007 09:45:37
Tengo cuenta en el Skype, con el nombre Loli (y por foto he puesto un gato), estoy siempre conectada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por loly (15 intervenciones) el 05/02/2007 11:59:05
Hola x,
me acabo de dar cuenta de que la tabla de empleados se relaciona consigo misma, y por eso puede que me de el error
The INSERT statement conflicted with the FOREIGN KEY SAME TABLE constraint "FK_Employees_Employees". The conflict occurred in database "Northwind", table "dbo.Employees", column 'EmployeeID'.
The statement has been terminated.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlDateTime overflow.

Publicado por x (445 intervenciones) el 07/02/2007 14:16:16
mmm... hay muchos usuarios con ese nombre, adermas de que no me muestra la imagen, si ya resolviste tu problema pon la nota por favor, para ver que era en realidad, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar