调用这个存储过程为什么会错?

qiweiyong 2003-05-21 01:10:24
存储过程:
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: // }

...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiweiyong 2003-05-21
  • 打赏
  • 举报
回复
我这个存储过程应该怎么写?
jasmine 2003-05-21
  • 打赏
  • 举报
回复
@@SUM 改为@sum 吧,@@在 sql_server 里是系统param的前缀
xiajianfeng 2003-05-21
  • 打赏
  • 举报
回复
在存储过程中声明参数@SUMParam
yqdeng 2003-05-21
  • 打赏
  • 举报
回复
你的存储过程中没有声明参数

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧