错误消息"关键字'来自'附近的语法不正确"

时间:2014-06-01 00:44:35

标签: asp.net login syntax-error

当我输入用户名和密码时,我正在收到此错误消息,我不知道错误是什么,以及我如何解决它。错误消息是:

关键字'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";
    }



}

}



} 

1 个答案:

答案 0 :(得分:0)

线索是System.Data.SqlClient的异常类型。 SqlException 。这意味着您的SQL无效。

通过查看代码,问题似乎是您使用CountCount是一项功能,因此您需要使用Select count(*) from

当我得到一个SQLException时,我接受了SQL代码(不,我没有使用内联SQL cos那个糟糕的m&#k;)并在SQL Server Management Studio中执行它发现这是找出错误的最快方法。