无法在C#上调用Mysql存储过程
本文关键字:调用 Mysql 存储过程 | 更新日期: 2023-09-27 18:26:13
我使用的是mysql 5.6版本和C#我创建了存储过程调用PWITEMS()。
delimiter //
create procedure PWITEMS()
begin
select Jw_ItemName,Jw_ItemID FROM pawning.jewelry_items;
end;//
delimiter ;
当我调用该过程时,它会给出错误:
错误[42000][MySQL][ODBC 5.3(w)驱动程序][mysqld-5.6.26-log]您有SQL语法错误;查看与您的在"NewPWITEMS"附近使用正确语法的MySQL服务器版本第1行
我的C#代码在这里:
OdbcDataReader dr;
OdbcConnection cnn = new OdbcConnection(Form1.dbconn.str);
OdbcCommand cmd = new OdbcCommand("NewPWITEMS", cnn);
cmd.CommandType = CommandType.StoredProcedure;
cnn.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
cmbJewType.Items.Add(dr[0].ToString());
}
dr.Dispose();
cnn.Close();
cmd.Dispose();
MySQL命令将是
CALL PWITEMS
(我注意到你的定义是PWITEMS,而不是NewPWITEMS)
请参阅下面的注释-ODBC文档指定了用大括号括起调用的正确方法:http://vieka.com/esqldoc/esqlref/htm/odbcprocedure_calls.htm