Foros del Web » Programando para Internet » ASPX (.net) »

[SOLUCIONADO] Problemas al introducir fecha en vb.net a sql server

Estas en el tema de Problemas al introducir fecha en vb.net a sql server en el foro de ASPX (.net) en Foros del Web. Buenas Compañeros espero que esten bien. Quisiera por favor me ayudaran con un error que tengo al momento de introducir la fecha. tengo un asp.calendar ...
  #1 (permalink)  
Antiguo 09/05/2013, 09:21
Avatar de el_goodfather  
Fecha de Ingreso: mayo-2013
Ubicación: Bogota
Mensajes: 5
Antigüedad: 6 años, 5 meses
Puntos: 0
Problemas al introducir fecha en vb.net a sql server

Buenas Compañeros espero que esten bien.

Quisiera por favor me ayudaran con un error que tengo al momento de introducir la fecha. tengo un asp.calendar el cual al seleccionar una fecha la pasa a un texbox. este texbox lo convierto a datetime y lo inserto en SQLserver, este funciona con algunas fechas y con otras me lanza un error(The conversion of a char data...). Quisiera saber que puedo hacer para solucionar este problema o alguna sugerencia.

Código:
Dim fechas As DateTime
fechas = Convert.ToDateTime(TextBox1.Text)

 'ahorrandome los pasos de conexion

Dim query As New SqlCommand("update cop_registro set nacimiento='" & fechas & "' where cedula= 25", con)
            Dim cant As Integer = query.ExecuteNonQuery()

            If cant = 1 Then
                Me.Label2.Text = "Datos Modificados"
               
            Else
                Me.Label2.Text = "No existe el usuario"
            End If
Aveces registra la fecha y aveces me lanza el error: "The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value"

Otra cuestion es que nunca me registra la hora en que se guarda porque automaticamente pone 12:00:00 am. Agradezco su ayuda porfavor
  #2 (permalink)  
Antiguo 10/05/2013, 16:41
 
Fecha de Ingreso: junio-2012
Ubicación: Cercado de Lima - Lima - Peru
Mensajes: 27
Antigüedad: 7 años, 4 meses
Puntos: 2
Respuesta: Problemas al introducir fecha en vb.net a sql server

Hola, en primera tu estas pasando el valor a nacimiento 'fechas' por lo que se podria decir que la variable fechas como es de datetime le estas mandado algo asi "13-01-2013 00:00:00 000" pero en modo texto, es decir estas insertando texto en fecha y sql te devulve error cuando no puede modificarla por si mismo.
Ahora no se como estas cogiendo la fecha pero supongo que como es de un calendar debe tomar y mostrarlo en tu texbox algo asi "15-12-2013" entonces lo que tu debes hacer es convertir directamente de tu textbox a en tu query quedando asi:

Dim query As New SqlCommand("update cop_registro set nacimiento=Convert(Date,'" & TextBox1.Text & "', 103) where cedula= 25", con)

-103 es para que le de formato dd/mm/aaaa.

Saludos si tienes mas dudas te sugeriria me mandes un mp. y te respondo a lo cual te digo que lo que me mandes en el mp lo publiques aqui que aqui mismo te respondere pues es un foro.
  #3 (permalink)  
Antiguo 14/05/2013, 07:48
Avatar de el_goodfather  
Fecha de Ingreso: mayo-2013
Ubicación: Bogota
Mensajes: 5
Antigüedad: 6 años, 5 meses
Puntos: 0
Respuesta: Problemas al introducir fecha en vb.net a sql server

Hola SekaiNew Gracias por tu respuesta

En realidad cuando selecciono la fecha en el calendar en el textbox se muestra como "dd/mm/aaaa" . El problema era que lo mandaba en la instruccion sql sin usar parametros.

Dim query As New SqlCommand("update cop_registro set nacimiento='" & fechas & "' where cedula= 25", con)

Entonces le agregue el parametro y funciono. Bueno por lo menos ingresar la fecha que es lo mas importante, con respecto a la hora no he podido pues automaticamente e coloca las 12:00 am y no la hora de registro. Igual ya sirve la fecha. Gracias dejo el codigo.

Código:
 Dim fechas As DateTime

        fechas = Convert.ToDateTime(TextBox1.Text)
        Label1.Text = fechas

        Try
            Dim s As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
            Dim con As New SqlConnection(s)
            con.Open()
            Dim query As New SqlCommand("update cop_registro set nacimiento= @fechas where cedula= 78", con)

            query.Parameters.AddWithValue("@fechas", fechas)

            Dim cant As Integer = query.ExecuteNonQuery()

            If cant = 1 Then
                Me.Label2.Text = "Datos Modificados"
               
            Else
                Me.Label2.Text = "No existe el usuario"
            End If
            con.Close()

        Catch ex As Exception
            Me.Label2.Text = ex.Message
        End Try

Etiquetas: asp, fecha, introducir, server, sql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:20.