当我输入用户名和密码时,我正在收到此错误消息,我不知道错误是什么,以及我如何解决它。错误消息是:
关键字'from'附近的语法不正确。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:关键字'from'附近的语法不正确。
来源错误:
Line 29: string checkuser = "Select count * from UserInfo where UID='" + usrnamlogintxtbx.Text + "'";
第30行:SqlCommand cmd = new SqlCommand(checkuser,log); 第31行:int temp = Convert.ToInt32(cmd.ExecuteScalar()。ToString()); 第32行: 第33行:
第31行的错误
这是背后的代码:
public partial class login : System.Web.UI.Page
{
string sc = ConfigurationManager.ConnectionStrings["BeravaConnectionString"].ConnectionString.ToString();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Loginbtn_Click(object sender, EventArgs e)
{
SqlConnection log = new SqlConnection(ConfigurationManager.ConnectionStrings["BeravaConnectionString"].ConnectionString);
log.Open();
string checkuser = "Select count * from UserInfo where UID='" + usrnamlogintxtbx.Text + "'";
SqlCommand cmd = new SqlCommand(checkuser, log);
int temp = Convert.ToInt32(cmd.ExecuteScalar().ToString());
log.Close();
if (temp == 1)
{
log.Open();
string checkpasswordquery = "Select Password from UserInfo where UID='" + usrnamlogintxtbx.Text + "'";
SqlCommand passcom = new SqlCommand(checkpasswordquery, log);
string password = passcom.ExecuteScalar().ToString().Replace(" ","");
if (password == usrnamloginpassbx.Text)
{
Session["UsrNme"] = usrnamlogintxtbx.Text;
Response.Redirect("User panel.aspx");
}
else
{
passwronglbl.Text = "Password is incorrect";
}
}
else {
wronglogusernamelbl.Text = "Invalid User Name";
}
}
}
}
答案 0 :(得分:0)
线索是System.Data.SqlClient的异常类型。 SqlException 。这意味着您的SQL无效。
通过查看代码,问题似乎是您使用Count
。 Count
是一项功能,因此您需要使用Select count(*) from
。
当我得到一个SQLException时,我接受了SQL代码(不,我没有使用内联SQL cos那个糟糕的m&#k;)并在SQL Server Management Studio中执行它发现这是找出错误的最快方法。