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

#6 Anonimo
26/02/2004 - 21:33 | Informe spam
Lo que probe no funciono :(
Cuando se ejecuta
lHoraDeIncremento.Hora = CType(cmbHora.Text, DateTime)

Queda en lHoraDeIncremento.Hora -> #12:23:00 PM#


Despues de varios pasos intermedios el valor sigue siendo
#12:23:00 PM#


La excepcion que tira es

"SqlDateTime overflow. Must be between 1/1/1753 12:00:00
AM and 12/31/9999 11:59:59 PM."

Claro, pero en realidad es una hora y no una fecha

El procedimiento ahora lo modifique asi:
(NO SE SI ERA como me decian pero es lo que vi en la ayuda)
CREATE PROCEDURE HoraDeIncrementoInsert
@Nombre varchar(50),
@Hora datetime
AS

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

RETURN @@IDENTITY
GO


Tambien me fije en con otros codigos aparte del 113 (lo
saque de la ayuda) pero no funciono.
Mostrar la cita
podrias hacer desde el
Mostrar la cita
te guste, si lo
Mostrar la cita
por ejemplo
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
mensaje
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
tengo
Mostrar la cita
20/02/2004
Mostrar la cita
#7 ulises
26/02/2004 - 21:51 | Informe spam
El campo del SQL es un datetime, es decir SIEMPRE lleva
fecha y hora, si realizas lo siguiente en el Query
Analyzer :

CREATE TABLE tablita ( campo datetime )
go
INSERT tablita VALUES ( '11:10:00' )
go
SELECT * FROM tablita
go

verás que el resultado te asume una fecha :

campo
1900-01-01 11:10:00.000

(1 row(s) affected)

en este caso la fecha base, puedes hacer la mismo, es
decir asumir una fecha y grabarla de esa manera luego al
momento de extraerla la puedes eliminar y quedarte solo
con la hora.

Saludos,
Ulises

Mostrar la cita
ayuda)
Mostrar la cita
(10)
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
funcionan
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
dato
Mostrar la cita
(http://www.grisoft.com).
Mostrar la cita
Ads by Google
Search Busqueda sugerida