使用Mysql和Visual执行存储过程?

时间:2018-03-12 19:04:24

标签: mysql visual-studio stored-procedures

enter image description here enter image description here我正在开发一个visual basic系统并使用Mysql数据库引擎

目前我从visual basic咨询,但我想更改存储过程,但我遇到的问题是从可视应用程序调用它不起作用,他们可以支持我说我有一个错误的代码< / p>

Dim Conexion As New MySqlConnection
Dim cmd As New MySqlCommand()
Dim ms As String

Conexion.ConnectionString = "server=65.;database=...;user=..;password=...;"


Conexion.Open()

cmd = New MySqlCommand("Login", Conexion)
cmd.CommandType = CommandType.StoredProcedure

cmd.Parameters.AddWithValue("@_usuario", usuario)
cmd.Parameters("@_usuario").Direction = ParameterDirection.Input
cmd.Parameters.AddWithValue("@_passsword", password)
cmd.Parameters("@_passsword").Direction = ParameterDirection.Input
cmd.Parameters.AddWithValue("@_mensaje", MySqlDbType.String)
cmd.Parameters("@_mensaje").Direction = ParameterDirection.Output
cmd.ExecuteNonQuery()
ms = (cmd.Parameters("@_mensaje").Value)

1 个答案:

答案 0 :(得分:0)

您有用户权限问题,在执行存储过程之前,某些参数是从mysql.proc表中获取的,您必须有权使用当前连接读取该表。

要修复此问题,请以root用户身份登录,尝试向用户SELECT添加depen_depensas个权限;

GRANT SELECT ON mysql.proc TO 'depen_depensas'@'201.162.160.77';

或许该用户使用&#39;%&#39;通配符:

GRANT SELECT ON mysql.proc TO 'depen_depensas'@'%';

在创建mysql用户时使用相同的用户和主机。