Consulta sobre código en visual basic para insertar valor en una tabla de base de datos access

Estoy aprendiendo a programar en visual basic 2005 y quiero pedir un par de favores.
Primero :
Tengo una base de datos en access y al intentar hacer una inserción en una tabla me genera un error.
Éstae es el código:
Dim al As New alumnos
        Dim nombre As String
        Dim apellido As String
        Dim direccion As String
        nombre = TextBox1.Text
        apellido = TextBox2.Text
        direccion = TextBox3.Text
        Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\EM3\EM3.mdb")
        Dim com As New OleDbCommand("insert into alumnos values(" & nombre & _
        ", " & apellido & ", " & direccion & ")")
        con.Open()
        Using con
            com.ExecuteNonQuery()
        End Using
        Con.Close()
Obviamente importo : Imports System. Data.OleDb en la parte de arriba, pero me genera un error que me dice :
No se controló InvalidOperationException.
ExecuteNonQuery: la propiedad Connection no se ha inicializado.
¿Y no entiendo por qué?
Lo otro es que necesito imprimir desde visual basic 2005 y no sé cómo hacerlo.

1 Respuesta

Respuesta
1
De esta manera si funciona:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nombre As String
Dim apellido As String
Dim direccion As String
Dim con As OleDbConnection
Dim com As OleDbCommand
Try
nombre = TextBox1.Text
apellido = TextBox2.Text
direccion = TextBox3.Text
con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=I:\EM3\EM3.mdb")
com = New OleDbCommand("insert into alumnos values(" & nombre & _
", " & apellido & ", " & direccion & ")", con)
' ESTA ES LA PARTE QUE TE HACIA FALTA
' OleDbCommand( COMANDOSQL , VARIABLE DE CONEXIOON)
' SIEMPRE SE UTILIZA DE ESTA MANERA
con.Open()
com.ExecuteNonQuery()
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas