Ejecutar Consulta de Access desde Visual Basic 2012
Tengo una BD en Access 2013 en la cual tengo las consultas respectivas, que quiero que actúen como Procedimiento Almacenado. Ya lo realicé con un SELECT
SELECT * FROM [User] WHERE User=txt_User AND Pass=txt_Pass;
Esto, lo llamo desde el evento de un botón en Visual Basic (con Visual Studio 2012) que está codificado de la siguiente forma:
ports System.Data
Imports System.Data.OleDb
Public Class Login
Private Sub btn_Salir_Click(sender As Object, e As EventArgs) Handles btn_Salir.Click
Me.Close()
End Sub
Private Sub btn_Login_Click(sender As Object, e As EventArgs) Handles btn_Login.Click
If MessageBox.Show("¿ESTÁ SEGURO QUE DESEA INGRESAR AL SISTEMA?", "RESPONDA", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Try
Dim conexion As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Documentos\BD_SYSTEM.accdb")
Dim commando As New OleDbCommand
Dim GOOD As OleDbDataReader
With commando
conexion.Open()
.CommandText = "PA_Login"
.CommandType = CommandType.StoredProcedure
.Connection = conexion
.Parameters.Add("@User", OleDbType.VarChar, 255).Value = txt_User.Text
.Parameters.Add("@Pass", OleDbType.VarChar, 255).Value = txt_Pass.Text
End With
GOOD = commando.ExecuteReader
If GOOD.HasRows = False Then
Throw New Exception("LOS DATOS INGRESADOS NO HAN SIDO ENCONTRADOS." + vbNewLine + "INTÉNTELO NUEVAMENTE.")
End If
commando.Dispose()
conexion.Close()
conexion.Dispose()
MessageBox.Show("DATOS INGRESADOS CON ÉXITO." + vbNewLine + "BIENVENIDO AL SISTEMA " + """" + txt_User.Text + """" + ".", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information)
NewUser.Show()
Catch ex As Exception
MessageBox.Show(ex.Message, "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Else
MessageBox.Show("OPERACIÓN CANCELADA POR EL USUARIO.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
End ClassHasta aquí vamos bien dijo el pavo antes de entrar al horno. Funciona sin problema, pero no he podido implementar los eventos para INSERT, DELETE o UPDATE. Estos realizan modificaciones en la BD en cuanto a registros se refiere, por lo cual difieren del SELECT; se debe implementar de forma distinta, pero no lo he podido realizar.
La consulta tipo PA que he implementado en Access como la anterior es:
INSERT INTO [User] ( [User], Pass ) VALUES (User, Pass);
Espero me puedan ayudar para solucionar estas dudas, a fin de poder desarrollar soluciones pequeñas (módulos) y dejarlos en bodega.