调用这个存储过程为什么会错?
存储过程:
CREATE PROCEDURE prece_sum @@SUM int OUTPUT
AS
select @@SUM=sum(digi) from prece where up=1
GO
.cs文件:
System.Data.SqlClient.SqlParameter SUMParam = null;
//try
//{
System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection("data source=QIWEIYONG;initial catalog=DaabTest;password=123;persist security info=True;user id=sa;workstation id=QIWEIYONG;packet size=4096");
connection.Open();
// create a command...
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand("prece_sum", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
SUMParam = command.Parameters.Add("@@SUMParam", System.Data.SqlDbType.Int);
SUMParam.Direction = System.Data.ParameterDirection.Output;
command.ExecuteNonQuery();
报错:
@SUMParam 不是过程 prece_sum 的参数。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: @SUMParam 不是过程 prece_sum 的参数。
源错误:
行 37: SUMParam = command.Parameters.Add("@SUMParam", System.Data.SqlDbType.Int);
行 38: SUMParam.Direction = System.Data.ParameterDirection.Output;
行 39: command.ExecuteNonQuery();
行 40:
行 41: // }