Insertar HORA en vb.net a SQL SERVER

Cerrado
bacaga - 6 oct 2011 a las 17:45
dark_zen Mensajes enviados 152 Fecha de inscripción lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 - 12 oct 2011 a las 21:58
Hola,

Como inserto horas desde vb.net a sql server, si ejecuto la linea de codigos que les coloque abajo, me genera error, alguien que me pueda ayudar...
EL ERROR ES ESTE:

"Desbordamiento de SqlDateTime. Debe estar entre 1/1/1753 12:00:00 AM 12/21/9999 11:59:59 PM."

muchas gracias.

Sub InsertarHora()

        Try

            Dim CMD As New SqlCommand("insert into HORA(ID_TRABAJO, HORA)values(@ID_TRABAJO,@HORA)", CN)


            CMD.Parameters.Add(New SqlParameter("@ID_TRABAJO", SqlDbType.VarChar, 10))
            CMD.Parameters("@ID_TRABAJO").Value = txtIDControlTrabajo.Text

            CMD.Parameters.Add(New SqlParameter("@HORA", SqlDbType.DateTime))
            CMD.Parameters("@HORA").Value = CDate(txtHora.Text)

            CN.Open()

            If CMD.ExecuteNonQuery() Then

                CN.Close()

                Call actualizar()

                MsgBox("Registro ingresado Correctamente", MsgBoxStyle.Information, "Mensaje")

            Else
                MsgBox("Registro no se pudo agregar!")
            End If
        Catch ex As SqlException : MsgBox(ex.Message)
        End Try
    End Sub
Consulta también:

1 respuesta

dark_zen Mensajes enviados 152 Fecha de inscripción lunes, 6 de septiembre de 2010 Estatus Miembro Última intervención martes, 3 de enero de 2012 107
12 oct 2011 a las 21:58
primero deshabilita el try para que aprecies los valores y sepas cual es el error...
yo uso el codigo de este estilo para mis procedimientos...

NOTA: El formato de la datetime del sql es '2011-10-12 00:00:00.000' del tipo cadena debes de tu textbox cambialo a un MASKEDTEXTBOX con un formato 00/00/0000

Dim cmd As New SqlCommand("P_DOCUMENTO_INSERT", Conexion.cn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@INSERTED", SqlDbType.Bit).Value = NUEVO
cmd.Parameters.Add("@ID", SqlDbType.BigInt).Value = LD_ID
'...y mas parametros
Conexion.CN.Open()
cmd.ExecuteNonQuery()
Conexion.CN.close()

espero que te sea de utilidad...
0