双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

必须声明标量变量 "@name"。

as86238582 as86238582 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我定义了一个sql类..
这是sql类中的登录方法

     public bool checklogin(string name,string pwd)
{
SqlConnection conn = new SqlConnection(sqlstr);
conn.Open();
// 创建命令(SqlCommand)对象(cmd)
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn; // 指示命令发给哪个数据库
cmd.CommandType = CommandType.Text; // 指示是什么类型的命令
cmd.CommandText = "SELECT [username],[password] FROM [user] WHERE [username]=@name and [password]=@pwd";
SqlDataReader read = cmd.ExecuteReader();
if (read.Read())
{
return true;
}
else {
return false;
}

}



在login.aspx.cs调用.
    protected void btnLogin_Click(object sender, EventArgs e)
{

string name = this.txtName.Text; //得到登陆帐号
string pwd = this.txtpwd.Text; //得到登陆密码
sql db = new sql();
bool cklogin=db.checklogin(name,pwd);
if(cklogin=true){

Response.Write("<script>alert('恭喜你登录成功')</script>");

}
else{
Response.Write("<script>alert('恭喜你登录失败')</script>");
}

}

为啥总是有如下错误提示
-----------------------------
必须声明标量变量 "@name"。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 必须声明标量变量 "@name"。

源错误:

行 26: cmd.CommandType = CommandType.Text; // 指示是什么类型的命令
行 27: cmd.CommandText = "SELECT [username],[password] FROM [user] WHERE [username]=@name and [password]=@pwd";
行 28: SqlDataReader read = cmd.ExecuteReader();
行 29: if (read.Read())
行 30: {

-----------------------------

求解
...全文
评论 9
收藏 已收藏
分享
返回顶部
as86238582
.NET社区 62,274 成员 668,968 内容