C# 执行异常(C)-参数有问题

C# 执行异常(C)-参数有问题,c#,mysql,sql,.net,stored-procedures,C#,Mysql,Sql,.net,Stored Procedures,我有一个WPF/.net4.5c应用程序,我使用的是MySQL-netconnector 6.8.3。我试图在MySQL数据库中执行一个存储过程,它需要3个参数 存储的过程如下所示: DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `storedProc1`(name VarChar(50), surname VarChar(50), age INT) BEGIN INSERT INTO table1 (name, surname

我有一个WPF/.net4.5c应用程序,我使用的是MySQL-netconnector 6.8.3。我试图在MySQL数据库中执行一个存储过程,它需要3个参数

存储的过程如下所示:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `storedProc1`(name VarChar(50), surname VarChar(50), age INT)
BEGIN
INSERT INTO table1 (name, surname, age) VALUES (name, surname, age);
END
这是我的C代码:

using MySql.Data.MySqlClient;
string connString = "server=localhost;database=db1;user id=user1;password=pass1";
MySqlParameter[] parameters = new MySqlParameter[3];
parameters[0] = new MySqlParameter("name", "john");
parameters[1] = new MySqlParameter("surname", "smith");
parameters[2] = new MySqlParameter("age", 35);
MySql.Data.MySqlClient.MySqlHelper.ExecuteNonQuery(connString, "storedProc1", parameters);
但我得到了以下错误:

MySql.Data.dll中发生类型为“MySql.Data.MySqlClient.MySqlException”的未处理异常 其他信息:过程跟踪器的参数数量不正确。请插入\u track;预期为3,得到0

我不知道我错在哪里。有什么想法吗?谢谢…

将新的MySqlParametername更改为新名称MySqlParameter@nameetc,然后将查询字符串更改为call storedProc1@name、@name、@age


有可能使用?以您尝试的方式调用该过程。有关某些信息,请参阅。

尝试将新的MySqlParametername更改为新的MySqlParameter@name等等,然后将查询字符串更改为call storedProc1@name、@姓氏、@ageThank Laurece,这就成功了。愚蠢的问题,如何将您的答案标记为正确答案?对不起,我对stackoverflow有点陌生…我需要先把它写下来作为一个答案,在你标记它之前可能还有一个时间延迟。