我正在使用AngularJS和ASP.NET制作一个简单的应用程序,这是我的新手。我创建了一个SQL过程,但是每次执行它时,都会引发以下错误:
System.Data.SqlClient.SqlException:'过程或函数'LoginProc' 期望参数'@IsValid'未提供。'
如何解决此异常?这是存储过程的代码:
ALTER PROCEDURE LoginProc
@username VARCHAR(50),
@password VARCHAR(MAX),
@IsValid bit out
AS
BEGIN
SET @IsValid=(SELECT COUNT(username) from "User" WHERE username=N'@username' and password=N'@password')
END
这是尝试执行该过程的代码:
public class db
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings
["dbconnect"].ConnectionString);
public int userlogin(User user)
{
int res;
SqlCommand cmd = new SqlCommand("LoginProc", con);
cmd.CommandType = CommandType.StoredProcedure;
if (user.username != null && user.password != null) {
cmd.Parameters.AddWithValue("@username", user.username);
cmd.Parameters.AddWithValue("@password", user.password);
SqlParameter oblogin = new SqlParameter();
oblogin.ParameterName = "@IsVaild";
oblogin.Direction = ParameterDirection.Output;
oblogin.SqlDbType = SqlDbType.Bit;
cmd.Parameters.Add(oblogin);
con.Open();
cmd.ExecuteNonQuery();
res = Convert.ToInt32(oblogin.Value);
con.Close();
}
else
{
res = 0;
}
return res;
}
}
答案 0 :(得分:1)
您在这里拼错了@IsValid:
oblogin.ParameterName = "@IsVaild";