日期:2014-05-17  浏览次数:20445 次

"必须声明标量变量 \"@name\"怎么回事
本帖最后由 u012341329 于 2013-10-06 22:56:48 编辑
我在类里定义一个方法,在ASPX.CS文件里调用,就出现"必须声明标量变量 \"@name\",后来我把@name改成@n,他还这么提示,我根本就没有@name。我直接把代码放到aspx.cs里,可以访问!

public bool AdminLogin(string n1, string p1)
        {
            SqlConnection conn = new SqlConnection(Code.sqlconn);
            conn.Open();
            string str ="select * from [Admin] where [Name]=@n and [Password]=@p";
            SqlCommand comm = new SqlCommand(str,conn);
            comm.Parameters.AddWithValue("@n", n1);
            comm.Parameters.AddWithValue("@p", p1);
            SqlDataReader read = comm.ExecuteReader();
            if (read.Read())
            {
                conn.Close();
                return true;
            }
            else
            {
                conn.Close();
                return false;
            }
        }

调用

 AdminService ads = new AdminService();
        if (ads.AdminLogin(user.Value,pwd.Value)==true)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            Response.Write("用户或密码错误"); 
        }

------解决方案--------------------
没看出你的代码有什么问题。