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 Class
Hasta 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.