如何解决过程或函数add_route有太多参数指定错误?

时间:2016-08-02 18:17:03

标签: c# sql-server stored-procedures

我在ms sql server 2016中创建了一个存储过程,如下所示

  create proc add_route
  (@from varchar(45),
   @to varchar(45),
   @cost decimal,
   @res int out)
   as
   begin
   if(not exists(select Route_id from Route_Master where From_location=@from and To_location=@to))
   begin
   insert into Route_Master(From_location,To_location,Cost) values(@from,@to,@cost);
   set @res=1;
   return @res
   end
   end

我使用以下代码使用c#来接收存储过程返回的输出。

   public int addnewroute(string from, string to, decimal cost)
    {

        using (SqlConnection con = new SqlConnection(connectionString))
        {

            con.Open();
            SqlCommand cd = new SqlCommand("add_route", con);
            cd.CommandType = System.Data.CommandType.StoredProcedure;
            cd.Parameters.AddWithValue("@from ",from);
            cd.Parameters.AddWithValue("@to",to);
            cd.Parameters.AddWithValue("@cost",cost);
            cd.Parameters.Add(new SqlParameter("@res", SqlDbType.Int));
            cd.Parameters["@res"].Direction= ParameterDirection.Output;
            cd.ExecuteNonQuery();
            return (int)cd.Parameters["@res"].Value;
        }
     }

但是我得到的错误是":过程或函数add_route指定的参数太多"。但是我将相同数量的参数传递给存储过程。如何清除此错误?

0 个答案:

没有答案