过程 'Up_Add_Users' 需要参数 '@User_Id',但未提供该参数

yaoshun1983 2008-07-02 01:35:02
存储过程代码如下:
CREATE PROCEDURE  Up_Add_Users
(@User_Name varchar(20),@User_Pwd varchar(50),@User_Ask varchar(100),@User_Answer varchar(100),@User_Email varchar(200),
@UserBase_Sex varchar(10),@UserBase_Birthday datetime,@UserBase_Seat varchar(200),@UserBase_Oicq varchar(15),@UserBase_Msn varchar(200),
@UserBase_Pic varchar(200),@UserBase_Ink varchar(1000),@User_Id int out)
AS
INSERT INTO [Users](User_Name,User_Pwd,User_Ask,User_Answer,User_Email,User_Online)
VALUES(@User_Name,@User_Pwd,@User_Ask,@User_Answer,@User_Email,1)
SELECT @User_Id = Max ([User_id]) FROM Users
INSERT INTO UserBase (UserBase_UserId)VALUES(@User_Id)
INSERT INTO UserState (UserState_UserId)VALUES(@User_Id)
EXEC Up_Change_UserBase @User_Id,@UserBase_Sex,@UserBase_Birthday,@UserBase_Seat,@UserBase_Oicq,@UserBase_Msn,@UserBase_Pic,@UserBase_Ink
/* --------------------论坛信息表 ----------------------*/
UPDATE Bbs_SiteInfo SET SiteInfo_UserCount = SiteInfo_UserCount +1 ,SiteInfo_NewUserId =@User_Id,SiteInfo_NewUserName=@User_Name WHERE SiteInfo_Id = 1

GO


我在asp.net中的调用此存储过程添加对数的代码如下:
SqlCommand cmdForum = new SqlCommand("Up_Add_Users", connForum);
cmdForum.CommandType = CommandType.StoredProcedure;

cmdForum.Parameters.Add("@User_Name", userName);
cmdForum.Parameters.Add("@User_Pwd", MD5(pwd));
cmdForum.Parameters.Add("@User_Ask", "0");
cmdForum.Parameters.Add("@User_Answer", "我的生意网");
cmdForum.Parameters.Add("@User_Email", mail);
cmdForum.Parameters.Add("@UserBase_Sex", "boy");
cmdForum.Parameters.Add("@UserBase_Birthday", DateTime.Now.ToString());
cmdForum.Parameters.Add("@UserBase_Seat", "中国");
cmdForum.Parameters.Add("@UserBase_Oicq", "312112153");
cmdForum.Parameters.Add("@UserBase_Msn", "msn@hotmail.com");
cmdForum.Parameters.Add("@UserBase_Pic", "images/user.gif");
cmdForum.Parameters.Add("@UserBase_Ink", "我的个性签名");
//cmdForum.Parameters.Add("@User_Id",)

connForum.Open();
cmdForum.ExecuteNonQuery();

我不知cmdForum.Parameters.Add("@User_Id",)处的参数怎么处理,请高手指教。


我现在运行时的报错是:
异常详细信息: System.Data.SqlClient.SqlException: 过程 'Up_Add_Users' 需要参数 '@User_Id',但未提供该参数。

源错误:


行 275:
行 276: connForum.Open();
行 277: cmdForum.ExecuteNonQuery();
行 278: }
行 279:


源文件: e:\n\my31net\member_reg.aspx.cs 行: 277
...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaoshun1983 2008-07-02
  • 打赏
  • 举报
回复
根据“conan304 ”的指点。我改成
cmdForum.Parameters.Add("@User_Id", SqlDbType.Int);
cmdForum.Parameters["@User_Id"].Direction = ParameterDirection.Output;

这个问题就解决了。
谢谢!
whappy2000 2008-07-02
  • 打赏
  • 举报
回复
和你遇到同样的问题,帮你顶下.我按照书上的例子写都不对,看了各种资料都不行.我用的是sybase数据库.
conan304 2008-07-02
  • 打赏
  • 举报
回复
Sorry,output

cmdForum.Parameters.Add(new SqlParameter("@User_Id", SqlDbType.Int)); 
cmdForum.Parameters["@User_Id"].Direction = ParameterDirection.Output;
conan304 2008-07-02
  • 打赏
  • 举报
回复
cmdForum.Parameters.Add(new SqlParameter("@User_Id", SqlDbType.Int)).Value=...; 
cmdForum.Parameters["@User_Id"].Direction = ParameterDirection.Output;

62,046

社区成员

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

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

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

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