尽管此存储过程在第一次(首次登录)和注销后或重新运行应用程序后有效,但此存储过程不起作用并抛出“Procedure or function checkLogin11 has too many arguments specified exception”。我只提供所需的参数,它第一次工作正常,然后就不行了。无法理解有什么问题。请建议我该怎么做。
存储过程:
CREATE PROCEDURE checkLogin11
@userName nvarchar(50) = null,
@userPassword nvarchar(50) = null,
@userType nvarchar(50) = null
AS
BEGIN
SET NOCOUNT ON;
SELECT lu.LoginID FROM arstbl_LoginUser as lu WHERE lu.UserName = @userName AND lu.Password = @userPassword AND lu.Type = @userType
END
GO
代码:
scmd.Connection = scon;
scmd.CommandType = CommandType.StoredProcedure;
scmd.CommandText = "checkLogin11";
scmd.Parameters.Add("@userName", SqlDbType.NVarChar).Value = userName;
scmd.Parameters.Add("@userPassword", SqlDbType.NVarChar).Value = password;
scmd.Parameters.Add("@userType", SqlDbType.NVarChar).Value = userType;
SqlDataAdapter sda = new SqlDataAdapter(scmd);
DataTable dt = new DataTable();
try
{
scon.Open();
sda.Fill(dt);
if (dt.Rows.Count > 0)
return true;
else
return false;
}
finally
{
scon.Close();
}
它在填充数据表时抛出异常。
谢谢你。