C# System.Data.SqlClient.SqlException:靠近'的语法不正确=';
我试图使用C# System.Data.SqlClient.SqlException:靠近'的语法不正确=';,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我试图使用SqlDataReader验证登录表单,但出现语法错误 System.Data.SqlClient.SqlException:靠近“=”的语法不正确 我已经检查了我的代码,似乎没有检测到上面的错误。请帮忙 这是我的代码: string btnString = "SELECT userName, passWord, FacultyId, StudentId FROM LOGIN"; btnString += "WHERE(userName=@name) AND (passWord=@wo
SqlDataReader
验证登录表单,但出现语法错误
System.Data.SqlClient.SqlException:靠近“=”的语法不正确
我已经检查了我的代码,似乎没有检测到上面的错误。请帮忙
这是我的代码:
string btnString = "SELECT userName, passWord, FacultyId, StudentId FROM LOGIN";
btnString += "WHERE(userName=@name) AND (passWord=@word)";
SqlCommand cc = new SqlCommand();
SqlDataReader sr;
cc.Connection = sqlConn;
cc.CommandType = CommandType.Text;
cc.CommandText = btnString;
cc.Parameters.Add("@name", SqlDbType.Char).Value = txtUserName.Text;
cc.Parameters.Add("@word", SqlDbType.Char, 8).Value = txtPassWord.Text;
sr = cc.ExecuteReader();
if (sr.HasRows == true)
{
Response.Write("<script>alert('Login is successful!')</script>");
}
你需要一个空间
btnString += " WHERE(userName=@name) AND (passWord=@word)";
您的命令文本中缺少空格
string btnString = "SELECT userName, passWord, FacultyId, StudentId FROM LOGIN";
btnString += " WHERE(userName=@name) AND (passWord=@word)";
应该这样做缺少一个空格。您可以使用多行字符串而不是串联,以避免将来出现此类问题(注意
@
前面的“
):
您可以阅读有关字符串的更多信息。不客气。请在@Konstantin Spirin answer中查看有关多行字符串的信息
string btnString = "SELECT userName, passWord, FacultyId, StudentId FROM LOGIN";
btnString += " WHERE(userName=@name) AND (passWord=@word)";
string btnString = @"
SELECT userName, passWord, FacultyId, StudentId FROM LOGIN
WHERE(userName=@name) AND (passWord=@word)";