存储过程执行时总提示 未提供该参数

zywhao 2009-12-11 12:45:25
今天遇到一个问题。存储过程执行时总是提示
消息 201,级别 16,状态 4,过程 prtbUser_Add,第 0 行
过程或函数 'prtbUser_Add' 需要参数 '@UserIM',但未提供该参数。

ALTER PROCEDURE [dbo].[prtbUser_Add] 
@UserPwd varchar(30),
@UserEmail varchar(30),
@UserIM varchar(50),
@UserStatus int,
@UserQuesion varchar(50),
@UserAnswer varchar(50),
@UserInfo varchar(100),
@UserMobile varchar(13),
@CompanyName varchar(50),
@Address varchar(100),
@UserIsAva bit,
@Userphone varchar(13),
@UserFax varchar(13),
@UserType int,
@UserValiGuid varchar(50)
AS
BEGIN

SET NOCOUNT ON;

INSERT INTO tbUser
(UserType
,UserPwd
,UserEmail
,UserIM
,UserStatus
,UserQuesion
,UserAnswer
,UserInfo
,UserMobile
,CompanyName
,Address
,UserIsAva
,Userphone
,UserFax
,UserValiGuid)
VALUES
(@UserType
,@UserPwd
,@UserEmail
,@UserIM
,@UserStatus
,@UserQuesion
,@UserAnswer
,@UserInfo
,@UserMobile
,@CompanyName
,@Address
,@UserIsAva
,@Userphone
,@UserFax
,@UserValiGuid)

return 1

END


在asp.net 页面中传值时值为


虽然提示有错误,但插入却成功了。执行存储过程返回值为-1

请问是哪儿的问题
...全文
544 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-12-11
  • 打赏
  • 举报
回复
参数要Replace("'","''")
charwei 2009-12-11
  • 打赏
  • 举报
回复
你在asp.net调用存储过程时,少传了个参数
happy664618843 2009-12-11
  • 打赏
  • 举报
回复
参数未给它 赋值 LZ再细心检查下
wuyq11 2009-12-11
  • 打赏
  • 举报
回复
不存在参数
调试看看SQL语句
zhucemajiaburongyi 2009-12-11
  • 打赏
  • 举报
回复
你有个参数没传
zywhao 2009-12-11
  • 打赏
  • 举报
回复
难道存储过程传值时不能传 ''吗?
zywhao 2009-12-11
  • 打赏
  • 举报
回复
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmd = db.GetStoredProcCommand("prtbUser_Add");
db.AddInParameter(cmd, "@UserType", DbType.Int32, _objUser.UserType);
db.AddInParameter(cmd, "@UserPwd", DbType.String, _objUser.UserPwd);
db.AddInParameter(cmd, "@UserEmail", DbType.String, _objUser.UserEmail);
db.AddInParameter(cmd, "@UserIM", DbType.String, _objUser.UserIM);
db.AddInParameter(cmd, "@UserStatus", DbType.Int32, _objUser.UserStatus);
db.AddInParameter(cmd, "@UserQuesion", DbType.String, _objUser.UserQuesion);
db.AddInParameter(cmd, "@UserAnswer", DbType.String, _objUser.UserAnswer);
db.AddInParameter(cmd, "@UserInfo", DbType.String, _objUser.UserInfo);
db.AddInParameter(cmd, "@UserMobile", DbType.String, _objUser.UserMobile);
db.AddInParameter(cmd, "@CompanyName", DbType.String, _objUser.CompanyName);
db.AddInParameter(cmd, "@Address", DbType.String, _objUser.Address);
db.AddInParameter(cmd, "@UserIsAva", DbType.Boolean, _objUser.UserIsAva);
db.AddInParameter(cmd, "@Userphone", DbType.String, _objUser.Userphone);
db.AddInParameter(cmd, "@UserFax", DbType.String, _objUser.UserFax);
db.AddInParameter(cmd, "@UserValiGuid", DbType.String, _objUser.UserValiGuid);


int a=db.ExecuteNonQuery(cmd);


上面是asp.net中执行存储过程的语句
panzhaojl 2009-12-11
  • 打赏
  • 举报
回复
代码多调试,跟着走一下
liaoyukun111 2009-12-11
  • 打赏
  • 举报
回复
有可能的[Quote=引用 5 楼 happy664618843 的回复:]
参数未给它 赋值 LZ再细心检查下
[/Quote]
zywhao 2009-12-11
  • 打赏
  • 举报
回复
参数已经赋值 了,只不过大部分都是空,

62,046

社区成员

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

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

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

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