有人请通过修改此代码来帮助我。当我通过存储过程调用检索Login值时,我收到此错误消息“过程或函数'GetUserLogin'期望参数'@UserName',这是未提供的。” 这是我的代码:
public int GetLogin(string UserName, string Password)
{
SqlConnection con = new SqlConnection(str);
SqlDataAdapter da = new SqlDataAdapter("GetUserLogin", con);
SqlCommand com = new SqlCommand("GetUserLogin",con);
com.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
if ((ds.Tables[0].Rows[0].ItemArray[1].ToString() == UserName) && (ds.Tables[0].Rows[0].ItemArray[2].ToString() == Password))
{
return 1;
}
else
{
return 0;
}
}
else
{
return -1;
}
StoredProcedure:
CREATE PROCEDURE GetUserLogin @UserName varchar(50)
AS
select UserName,
Password
From Login where UserName=@UserName
RETURN
谢谢, Masum
答案 0 :(得分:1)
您需要在命令中添加UserName参数。在创建命令之后但在执行命令之前执行类似的操作:
com.Parameters.Add("@UserName", SqlDbType.VarChar, 50);
com.Parameters["@UserName"].Value = UserName;
答案 1 :(得分:0)
在填充数据集
之前添加此项 cmd.Parameters.AddWithValue("UserName",UserName);