none
Al Actualizar el campo fecha en mi BD mysql no la actualiza desde DataTimePicker VB 2012 RRS feed

  • Pregunta

  • Buen dia para todos, este es el código de actualización que utilizo para actualizar la BD en mysql , los  Campos son de Tipo 'Date' en la tabla 'matricula'  en fecha_matricula, fecha_inicio, fecha_final, los demás campos los actualiza bien. El INSERT y SELECT funcionan bien, no se si es porque estoy diciendo que el dato es de tipo 'Value'. 

    Gracias por sus comentarios.

    Private Sub button2_Click(sender As Object, e As EventArgs) Handles button2.Click

            Dim actualizar As String

            Try
                actualizar = "UPDATE matricula SET  fecha_matricula='" & dt1.Value & "', periodo='" & cbperiodo.Text & "',  year='" & txtaño.Text & "', programa='" & cbprograma.Text & "', codigo_carrera='" & txtcodigo.Text & "', carrera='" & txtcarrera.Text & "', semestres='" & txtsem.Text & "', semestre='" & cbsemactual.Text & "', fecha_inicio='" & dt2.Value & "', fecha_final='" & dt3.Value & "', jornada='" & cbjornada.Text & "', sede='" & cbsede.Text & "', estado='" & opcion & "', observaciones='" & txtobserva.Text & "'  WHERE id_estudiante= '" & txtid.Text & "'"
                conexion = New MySqlConnection(conection)
                conexion.Open()
                cmd = New MySqlCommand(actualizar, conexion)
                cmd.ExecuteNonQuery()
                MsgBox("Registro Actualizado")

            Catch ex As Exception
                MsgBox("Error, Registros no Actualizados", MsgBoxStyle.Critical, "Mensaje del Sistema")

            End Try

            Me.Hide()
            Dim frm As New asignaturas()
            frm.ShowDialog()

        End Sub. 



    
    • Editado hmarintorres sábado, 29 de octubre de 2016 16:03
    • Cambiado Enrique M. Montejo miércoles, 2 de noviembre de 2016 15:59 Pregunta relacionada con el acceso a datos con MySql.
    sábado, 29 de octubre de 2016 15:49

Todas las respuestas

  • hmarintorres,

    Es posible que el formato de fecha que tiene la propiedad dt1.Value (convertida a un tipo cadena) no sea la que espera MySQL, de hecho, concatenar los valores a la consulta de acción no es correcto, debes parametrizar la consulta. Por otro lado, debes mostrar el mensaje de error de la excepción -en caso ocurriera-, no basta colocar la frase "Error ..."

    Private Sub btn2_Click(sender As Object, e As EventArgs) Handles btn2.Click
    	Try
    		Using cn As New MySqlConnection("<Colocar cadena de conexión>")
    
    			Dim ConsultaSQL As String = "UPDATE matricula SET " _
    				& "fecha_matricula = @fecha_matricula, periodo = @periodo, year = @year, " _
    				& "programa = @programa, codigo_carrera = @codigo_carrera, carrera = @carrera, " _
    				& "semestres = @semestres, @semestre = semestre, fecha_inicio = @fecha_inicio, " _
    				& "fecha_final = @fecha_final, jornada = @jornada, sede = @sede, estado = @estado, " _
    				& "observaciones = @observaciones WHERE id_estudiante = @id_estudiante"
    
    			Dim cmd As New MySqlCommand(ConsultaSQL, cn)
    
    			cmd.Parameters.AddWithValue("@fecha_matricula", dt1.Value.Date)
    			cmd.Parameters.AddWithValue("@periodo", cbperiodo.Text)
    			'Demás parámetros
    
    			cmd.ExecuteScalar
    
    			Me.Hide()
    			Dim frm As New asignaturas()
    			frm.ShowDialog()
    		End Using
    	Catch ex As Exception
    		MessageBox.Show(ex.Message)
    	End Try
    End Sub


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 29 de octubre de 2016 17:15