Problemas con fechas y tiempos (NET y SQL)

26/02/2004 - 18:34 por Emiliano | Informe spam
Estoy trabajando con Visual Basic NET y SQLServer y tengo
el siguiente problema:
Pongo una hora en la base de datos (manualmente) en un
campo de tipo DateTime.
Cuando recojo los valores de la tabla por medio de un
procedimiento almacenado paso el valor a un tipo de dato
DateTime este contiene el valor de una fecha (algo asi
como 30/12/1899, creo) mas la hora correspondiente.
Por otro lado cuando intento grabar una hora (que esta
correctamente escrita) me tira un error de
desbordamiento
Alguna idea??? Agradeceria cualquier colaboración

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
26/02/2004 - 18:56 | Informe spam
Como estas guardando la Hora? pasame la forma que lo intentas hacer si?


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Emiliano" escribió en el mensaje
news:29d601c3fc8e$ce758630$
Estoy trabajando con Visual Basic NET y SQLServer y tengo
el siguiente problema:
Pongo una hora en la base de datos (manualmente) en un
campo de tipo DateTime.
Cuando recojo los valores de la tabla por medio de un
procedimiento almacenado paso el valor a un tipo de dato
DateTime este contiene el valor de una fecha (algo asi
como 30/12/1899, creo) mas la hora correspondiente.
Por otro lado cuando intento grabar una hora (que esta
correctamente escrita) me tira un error de
desbordamiento
Alguna idea??? Agradeceria cualquier colaboración




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 20/02/2004
#2 Emiliano
26/02/2004 - 19:25 | Informe spam
La hora la escribo manualmente en un combo, como por
ejemplo 12:00:00, la paso a una variable DateTime (que veo
mediante un watch que esta correcta) y luego se ejecuta el
procedimiento (que aparentemente es correcto, tiene el
mismo tipo, etc)
No te paso todo el codigo porque es un poco complicado, la
aplicacion esta dividida en varias capas y se hace
complicado...

lHoraDeIncremento.Hora = CType(cmbHora.Text, DateTime))

Las clases que se encargan de grabar en la base funcionan
bien porque son las mismas que utilizo para hacer todo.

Mostrar la cita
intentas hacer si?
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
mensaje
Mostrar la cita
20/02/2004
Mostrar la cita
#3 ulises
26/02/2004 - 19:28 | Informe spam
Sería de mucha ayuda que envies la forma como lo está
recibiendo el SQL, en todo caso también revisa los tipos
de datos datetime y smalldatetime en el BOL, ellos tienen
límites en las fechas que puedes ingresar, creo que
valores antes de 01/01/1753 no son permitidos para
datetime, (¿porque de esa fecha? creo que basicamente
porque el calendario gregoriano recien fue aceptado a
finales de 1752 por los paises anglosajones); para el
smalldatetime tienen que ser mayores o iguales a
01/01/1900.

Saludos,
Ulises

Mostrar la cita
#4 Anonimo
26/02/2004 - 19:39 | Informe spam
Por si sirve este es el procedimiento que utilizo para el
INSERT


CREATE PROCEDURE HoraDeIncrementoInsert
@Nombre varchar(50),
@Hora datetime
AS

INSERT INTO [HoraDeIncremento] (Nombre, Hora)
VALUES
(@Nombre, @Hora)

RETURN @@IDENTITY
GO

Mostrar la cita
veo
Mostrar la cita
el
Mostrar la cita
la
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
(http://www.grisoft.com).
Mostrar la cita
#5 Maximiliano D. A.
26/02/2004 - 19:41 | Informe spam
Hace una cosa!! la variable Hora pasala asi

'YYYYMMDD HH:mm:ss' y me decis como te fue, esto lo podrias hacer desde el
mismo Store con un Convert o desde el Cliente, como mas te guste, si lo
haces desde el cliente pone que la var @hora sea Char(10) por ejemplo

Proba y decinos

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


escribió en el mensaje
news:27e801c3fc97$e6bdb740$
Por si sirve este es el procedimiento que utilizo para el
INSERT


CREATE PROCEDURE HoraDeIncrementoInsert
@Nombre varchar(50),
@Hora datetime
AS

INSERT INTO [HoraDeIncremento] (Nombre, Hora)
VALUES
(@Nombre, @Hora)

RETURN @@IDENTITY
GO

Mostrar la cita
veo
Mostrar la cita
el
Mostrar la cita
la
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
(http://www.grisoft.com).
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 20/02/2004
Ads by Google
Search Busqueda sugerida