Visual Basic.NET - Pronblemas para insertar registros en acces desde vB 2010

 
Vista:

Pronblemas para insertar registros en acces desde vB 2010

Tengo una base de datos en acces 2003, y deseo mediante un formulario creado en visual basic 2010, alimentar a la base de datos este es el codigo que estoy usando para enviar los datos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim usuario As String
    Dim password As String
    Dim tipo_c As String
 
    Try
        usuario = TextBox1.Text
        password = TextBox2.Text
        tipo_c = TextBox4.Text
        conConexion.Open()
        cmdCommand = New OleDb.OleDbCommand
        cmdCommand.Connection = conConexion
        cmdCommand.CommandText = "INSERT INTO login(Usuario,Password,Cuenta) VALUES (@usuario , @password , @tipo_c,)"
 
        cmdCommand.ExecuteNonQuery()
        conConexion.Close()
        MsgBox("Guardado con Éxito")
    Catch ex As Exception
        MsgBox("Algo Salió Mal a la hora de Guardar")
    End Try
::::
cuando le presiono el botón guardar en el formulario me ejecuta el mensaje de la parte del Catch ex As
que dice que algo salio mal al guardar la información se gun lo que veo el problema esta en la sintaxis del Insert Into. pero la he hecho de varias maneras y siempre tengo el mismo mensaje. ya topé y no se que podria estar mal
probé tambien de esta manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Try
    usuario = TextBox1.Text
    password = TextBox2.Text
    tipo_c = TextBox4.Text
    conConexion.Open()
    cmdCommand = New OleDb.OleDbCommand
    cmdCommand.Connection = conConexion
    cmdCommand.CommandText = "INSERT INTO login(Usuario,Password,Cuenta) VALUES ('" & _
        usuario & "','" & password & "','" & tipo_c & "')"
    cmdCommand.ExecuteNonQuery()
    conConexion.Close()
    MsgBox("Guardado con Éxito")
Catch ex As Exception
    MsgBox("Algo Salió Mal a la hora de Guardar")
End Try

:::
y nada... ayuda por favor

y lo que deseo es mediante ese formulario es crear usuarios para luego acceder a otro modulo y que cuando se logueen, esos usuarios se encuentren en la bd.

gracias. y desde ya bendiciones
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Victor

Pronblemas para insertar registros en acces desde vB 2010

Publicado por Victor (4 intervenciones) el 14/11/2017 15:48:08
Hola.

1
2
3
4
5
6
7
8
9
10
11
12
13
Try
    Dim cnn As New OleDbConnection("")
    Dim cmd As New OleDbCommand("INSERT INTO login VALUES (@Usuario, @Password, @Cuenta)", cnn)
    cmd.CommandType = CommandType.Text
    cmd.Parameters.Add(New OleDbParameter("@Usuario", TxtUsuario.Text))
    cmd.Parameters.Add(New OleDbParameter("@Password", TxtUsuario.Text))
    cmd.Parameters.Add(New OleDbParameter("@Cuenta", TxtUsuario.Text))
    cnn.Open()
    cmd.ExecuteNonQuery()
    cnn.Close()
Catch ex As Exception
 
End Try

Observa como inicio la variable de conexion "cnn" despues de la consulta INSERT, podrías tomar este como ejemplo o bien adecuarlo a tu código (claro que la variable de conexion siempre debe ir en una clase o módulo de donde la mandes llamar.

Te doy un TIP: Cuando estés desarrollando, no utilices el Try Catch, para que puedas Obtener bien el error que te da vs.NET, o bien, no personalices los mensajes, te dejo un ejemplo de como cachar el error:

1
2
3
Catch ex As Exception
    MsgBox(ex.Message)  'Esta linea toma el error del compilador de .NET y te lo muestra en un mensaje de tipo MSGBOX
End Try
Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pronblemas para insertar registros en acces desde vB 2010

Publicado por Excelente Mi amigo!! (3 intervenciones) el 14/11/2017 20:58:59
Gracias Victor, Trabaja excelente. te agradesco-...Bendiciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar