none
ExecuteNonQuery : la propiedad connection no se ha inicializado RRS feed

  • Pregunta

  • Hola. Estoy empezando en aprender en crear una base de datos en Visual con Acces, y me sale este error y no se cual es el problema, porfavor ayudenme en corregirlo y talvez podrian explicarme del problema u de otros. 

    Muchas Gracias.

    Imports System.Data
    Imports System.Data.OleDb

    Public Class Form1
        Dim cadena As New OleDbConnection
        Dim comando As New OleDbCommand
        Dim lineaSQL As String

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Try
                cadena.ConnectionString = "Provider= Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\\Documentos\base de datos\datos.accdb"
                cadena.Open()

                lineaSQL = "INSERT INTO datos(ID,Nombre,Apellido,Edad,Sexo,Direccion,Telefono,Correo)" & "Values(textbox1,textbox2,textbox3,textbox4,textbox5,textbox6,textbox7,textbox8)"


                Dim comando As New OleDb.OleDbCommand


                comando.Parameters.AddWithValue("@ID", TextBox1.Text)
                comando.Parameters.AddWithValue("@Nombre", TextBox2.Text)
                comando.Parameters.AddWithValue("@Apellido", TextBox3.Text)
                comando.Parameters.AddWithValue("@Edad", TextBox4.Text)
                comando.Parameters.AddWithValue("@Sexo", TextBox5.Text)
                comando.Parameters.AddWithValue("@Direccion", TextBox6.Text)
                comando.Parameters.AddWithValue("@Telefono", TextBox7.Text)
                comando.Parameters.AddWithValue("@Correo", TextBox8.Text)
                comando.CommandType = CommandType.Text
                comando.ExecuteNonQuery()
                cadena.Close()
                MsgBox("Se agregó el alumno correctamento ", vbInformation, "AGREDADO CORRECTAMENTE")

            Catch ex As Exception

                MsgBox(Err.Description)

            End Try

        End Sub


    End Class

    domingo, 4 de agosto de 2019 5:14

Todas las respuestas

  • Has definido la conexión y has definido el command, por separado. Pero al command no le has dicho que utilice esa conexión:

    comando.Connection = cadena

    Por cierto, no es buena idea que llames "cadena" a la variable que representa la conexión, porque esa tiene a su vez dentro una propiedad que es la cadena, por lo que puede resultar confuso al leerlo.

    • Propuesto como respuesta Sergio Parra domingo, 4 de agosto de 2019 12:15
    domingo, 4 de agosto de 2019 11:28