Saludos a todos!! En ests momentos estoy empezando a realizar una aplicacion usando como BD mysql y como interfaz VB.net y mi problema es el siguiente:
Tengo este procedimiento almacenado:
DELIMITER $$
USE `inventario`$$
DROP PROCEDURE IF EXISTS `id_usuario`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `id_usuario`(
IN spusuario VARCHAR(20),
IN spclave VARCHAR(20))
BEGIN
SELECT id_usuario FROM usuarios WHERE usuario = spusuario AND clave = spclave;
END$$
DELIMITER ;
Ahora por medio de un boton quiero llamar el resultado de esta consulta la cual me sirve para saber que usuarios tengo agregados en mi BD. Acontinuacion mi codigo en VB.net:
Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click
Dim csb As New MySqlConnectionStringBuilder
With csb
.Server = "localhost"
.Database = "inventario"
.UserID = "root"
.Password = "abc123A"
End With
Using con As New MySqlConnection(csb.ConnectionString)
con.Open()
Dim cmd2 As New MySqlCommand("call id_usuario", con)
With cmd2
.Parameters.Add("spusuario", MySqlDbType.VarChar).Value = Me.txtUsuario.Text
.Parameters.Add("spclave", MySqlDbType.VarChar).Value = Me.txtClave.Text
End With
Dim i As Integer
i = CInt(cmd2.ExecuteScalar()) EL Visual studio me señala que hay un error en esta parte del codigo
If i > 0 Then
contador = 0
MsgBox("Bienvenido", MsgBoxStyle.Information)
Exit Sub
Else
contador = contador + 1
MsgBox("Verifique su usuario y contraseña", MsgBoxStyle.Exclamation)
End If
If contador = 3 Then
MsgBox("Ha intendado ingresar mas de tres veces", MsgBoxStyle.Critical)
con.Dispose()
con.Close()
Application.Exit()
End If
End Using
End Sub
Y Visual studio me manda el siguiente error:
Incorrect number of argument for PROCEDURE inventario.id_usuario; expected 2, got 0
Como hago para darles los parametros al procedimiento. Con el resultado de la consulta obtengo el id del usuario el cual es un entero y si este existe es porque lo tengo en la BD sino que me mande un mensaje el cual manda a verificar que escriba bien los datos.
HELP ME PLEASE!!! y gracias de ante mano por leer mi problema!!