我明明传入了参数 为什么提示没有参数 VS中用sql存储过程

publicclassUserDao{privatereadonlystringconnStr="DataSource=.;InitialCatalog=DB_userD... public class UserDao
{
private readonly string connStr = "Data Source=.;Initial Catalog=DB_userDemo;User ID=sa;Password=sa";

/*
create proc proc_addUser
@loginName varchar(50),
@loginPwd varchar(50)
as
INSERT INTO tb_user (loginName,loginPwd) VALUES (@loginName,@loginPwd)
go
*/
public int InsertUser(User user)
{
int result = 0;
using (SqlConnection connection = new SqlConnection(connStr))
{

SqlCommand command = new SqlCommand("proc_addUser", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@loginName", user.LoginName);
command.Parameters.AddWithValue("@loginPwd", user.LoginPwd);
connection.Open();
result = command.ExecuteNonQuery();
connection.Close();
}
return result;
}

}

错误:
过程或函数 'proc_addUser' 需要参数 '@loginName',但未提供该参数。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: 过程或函数 'proc_addUser' 需要参数 '@loginName',但未提供该参数。

Source Error:

Line 32: command.Parameters.AddWithValue("@loginPwd", user.LoginPwd);
Line 33: connection.Open();
Line 34: result = command.ExecuteNonQuery();
Line 35: connection.Close();
Line 36: }
展开
 我来答
西区俊胖
2010-11-15
知道答主
回答量:8
采纳率:0%
帮助的人:3.8万
展开全部
当然了
你少了
command.Parameters[“User”].Direction=ParameterDirection. input;
command.Parameters[“user”].Direction=ParameterDirection. input;
你得在sqlcommand中设置这两个参数是否为输入数据还是输出数据,你不告诉计算机,他们怎么知道该把哪个参数里的值传入存储过程呢,自然存储过程就得不到该参数里的值喽!
最后再
connection.open();
...
linfeng0901
2010-11-05 · 超过26用户采纳过TA的回答
知道答主
回答量:197
采纳率:0%
帮助的人:67.3万
展开全部
看看实体类里有值吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式