我正在使用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语法中的错误;查看与您的手册相对应的手册 MySQL服务器版本,用于在'NewPWITEMS'附近使用正确的语法 第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();
答案 0 :(得分:1)
MySQL命令将是
CALL PWITEMS
(我注意到你的定义是针对PWITEMS,而不是NewPWITEMS)
请参阅下面的评论 - ODBC文档指定正确的方法是使用大括号括起调用:http://vieka.com/esqldoc/esqlref/htm/odbcprocedure_calls.htm