none
La propiedad connection no se a inicializado RRS feed

  • Pregunta

  • Tengo la siguiente rutina y en el caso que sea una modificación todo funciona ok, pero si es un alta que hay que ejecutar un insert me sale por el error de "La propiedad connection no se a inicializado".

    La verdad estoy bloqueado, no entiendo porque el update funciona y el insert no????

     Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click

    Comienzo:
            conn.Close()
            conectarse()
            If Alta Then

                sql = "insert into MAQUINAS (descripcion,marca,fechacompra,ultimomant,proximomant,mante,asignado,observaciones) values " & _
                     "('" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & ultimomante.Value & "'," & _
                     "'" & proximomante.Value & "','" & TextBox6.Text & "'," & ASIGNADO.SelectedValue & ",'" & TextBox8.Text & "')"

                cmd.CommandText = sql

                Try
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(ex.ToString)
                    Exit Sub
                End Try
            Else
                sql = "update  MAQUINAS set  descripcion='" & TextBox2.Text & "'," & _
                " marca ='" & TextBox3.Text & "'," & _
                " fechacompra ='" & TextBox4.Text & "'," & _
                " ultimomant='" & ultimomante.Value & "'," & _
                " proximomant='" & proximomante.Value & "', " & _
                " mante='" & TextBox6.Text & "', " & _
                " ASIGNADO=" & ASIGNADO.SelectedValue & "," & _
                " observaciones='" & TextBox8.Text & "'" & _
                " where maquina = " & TextBox1.Text & ""

                cmd.CommandText = sql

                Try
                    cmd.ExecuteNonQuery()
                    Call Borro()
                Catch ex As Exception
                    If ex.ToString.Contains("valores duplicados") Then
                        MsgBox("MAQUINA YA DADA DE ALTA ")

                        Exit Sub
                    End If
                    If ex.ToString.Contains("DataReader abierto") Then
                        rs.Close()
                        GoTo comienzo
                    Else
                        MsgBox(ex.ToString)
                        Exit Sub
                    End If
                End Try
            End If
        End Sub

    miércoles, 17 de marzo de 2021 19:13

Respuestas

  • [...] "La propiedad connection no se a inicializado".

    No se puede ver dentro del código que has aportado.

    Este error significa que dentro del "cmd" que estás usando no se le ha asignado un valor a su propiedad Connection.

    Tanto el Insert como el Update utilizan la misma variable cmd. Pero en ninguno de los casos se ve cómo se ha llegado hasta ahí y cómo se ha inicializado el cmd. La conclusión es que en el circuíto que sigue el programa antes de llegar a la parte que has mostrado, cuando vas a hacer un Update primero pasas por alguna instrucción que asigna el Connection del cmd, mientras que cuando vas al Insert llegas por otro camino que no asigna el Connection en cmd.

    miércoles, 17 de marzo de 2021 20:09

Todas las respuestas

  • [...] "La propiedad connection no se a inicializado".

    No se puede ver dentro del código que has aportado.

    Este error significa que dentro del "cmd" que estás usando no se le ha asignado un valor a su propiedad Connection.

    Tanto el Insert como el Update utilizan la misma variable cmd. Pero en ninguno de los casos se ve cómo se ha llegado hasta ahí y cómo se ha inicializado el cmd. La conclusión es que en el circuíto que sigue el programa antes de llegar a la parte que has mostrado, cuando vas a hacer un Update primero pasas por alguna instrucción que asigna el Connection del cmd, mientras que cuando vas al Insert llegas por otro camino que no asigna el Connection en cmd.

    miércoles, 17 de marzo de 2021 20:09
  • Hola,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    miércoles, 17 de marzo de 2021 22:01
    Moderador