C# 必须声明标量变量"@usrid“;

C# 必须声明标量变量"@usrid“;,c#,ado.net,C#,Ado.net,我想将两个文本值(登录名和登录密码)与sql db中的现有值进行比较。执行下面的代码时,我收到一个错误,因为必须声明标量变量“@usrid” 有人能帮我解决这个错误吗 我是ASP.Net的新手,C# 您正在添加名为的参数: cmd.Parameters.AddWithValue("@usridmtld", usrid); cmd.Parameters.AddWithValue("@passwordmtld", usrpswd); 当查询中的参数冲突时,请更改查询: Select usridm

我想将两个文本值(登录名和登录密码)与sql db中的现有值进行比较。执行下面的代码时,我收到一个错误,因为必须声明标量变量“@usrid”

有人能帮我解决这个错误吗

我是ASP.Net的新手,C#



您正在添加名为的参数:

cmd.Parameters.AddWithValue("@usridmtld", usrid);
cmd.Parameters.AddWithValue("@passwordmtld", usrpswd);
当查询中的参数冲突时,请更改查询:

Select usridmtld, passwordmtld 
from mobteldet.mobtellogin 
where usridmtld=@usridmtld 
and passwordmtld=@passwordmtld // note parameter variables
或更改您的参数:

cmd.Parameters.AddWithValue("@usrid", usrid);
cmd.Parameters.AddWithValue("@usrpswd", usrpswd);

您已经指定了列名来代替参数

改变


在查询中使用usrid参数,但在添加它时发送usridmtld参数。我希望在
Telelist.aspx
中也检查登录的用户。这是一种极其危险的身份验证方式,本质上要求黑客在数据库中存储和检查未加密的密码,具有管理员权限和硬编码管理员密码。更糟糕的是,没有设置任何身份验证cookie或会话变量,这表明
Teleist.aspx
完全不受保护。您为什么不使用ASP.NET的内置身份验证机制?谢谢您的宝贵建议。为我推荐一些ASP.NET内置身份验证机制的链接。谢谢Adil的建议
cmd.Parameters.AddWithValue("@usrid", usrid);
cmd.Parameters.AddWithValue("@usrpswd", usrpswd);
cmd.Parameters.AddWithValue("@usridmtld", usrid);
cmd.Parameters.AddWithValue("@usrid", usrid);