C# 创建具有参数的过程?

C# 创建具有参数的过程?,c#,mysql,stored-procedures,C#,Mysql,Stored Procedures,这是我的代码: using (MySql.Data.MySqlClient.MySqlConnection cn = new MySql.Data.MySqlClient.MySqlConnection( Properties.Settings.Default.CONNNConnectionString)) { cn.Open(); MySql.Data.MySqlClient.MySqlCommand

这是我的代码:

using (MySql.Data.MySqlClient.MySqlConnection cn = new   
MySql.Data.MySqlClient.MySqlConnection(
            Properties.Settings.Default.CONNNConnectionString))
        {
            cn.Open();
            MySql.Data.MySqlClient.MySqlCommand cm = new 
            MySql.Data.MySqlClient.MySqlCommand();
            cm.CommandType = CommandType.Text;
            cm.Connection = cn;
            cm.CommandText="CREATE  PROCEDURE `GetMovement`(RefArtt vARCHAR(20),idos INTEGER) "+
"BEGIN "+
"SET @Qt=0; "SELECT * ,@Qt:=@Qt+qteliv-qtesor as stock FROM tableInOut;"+
"End";
cm.ExecuteNonQuery();}

例外:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“@Qt”=0附近使用的正确语法;选择*…

我100%不理解您的查询:

SELECT * ,@Qt:=@Qt+qteliv-qtesor as stock FROM tableInOut;
如果您可以解释,以便我在需要时调整代码,但下面是一个示例:

using (MySql.Data.MySqlClient.MySqlConnection cn = new   
MySql.Data.MySqlClient.MySqlConnection(
            Properties.Settings.Default.CONNNConnectionString))
{
    cn.Open();
    MySql.Data.MySqlClient.MySqlCommand cm = new 
    MySql.Data.MySqlClient.MySqlCommand();
    cm.CommandType = CommandType.Text;
    cm.Connection = cn;
    cm.CommandText=@"
    DELIMITER //
     CREATE PROCEDURE GetMovement(IN RefArtt VARCHAR(20), IN idos INTEGER)
       BEGIN
        SELECT * 
        FROM tableInOut 
        WHERE ref = RefArtt AND id = idos;
       END //
    DELIMITER ; 
    ";
    cm.ExecuteNonQuery();
}

您还没有声明@Qt参数代码段是用于CSS/HTML/JS的。它不适用于C代码。如果我从sql IDE执行查询,查询工作正常,但我不使用C代码!!