我正在开发一个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)
答案 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用户时使用相同的用户和主机。