我有一个关于 ASP.NET 和 SQL Server 数据库以及使用 Visual Studio 2010 的问题。问题是关于登录控件 cs 部分。
我将表单与数据库链接,需要将登录名和密码与数据库中的登录名和密码进行比较,但是行
SqlDataReader rdr = com.ExecuteReader();
表示“用户”附近的语法有错误
是查询问题吗?
你能帮我吗?
private bool UserLogin(string userName, string password)
{
// read the coonection string from web.config
string conString = ConfigurationManager.ConnectionStrings["MidLinData"].ConnectionString;
using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(conString))
{
con.Open();
//' declare the command that will be used to execute the select statement
// SqlCommand com = new SqlCommand("SELECT login FROM user WHERE userName = @login AND Password = @password", con);
SqlCommand com = new SqlCommand("SELECT login FROM user WHERE userName = @login ", con);
SqlCommand com2 = new SqlCommand("SELECT password FROM user WHERE password = @password ", con);
// set the username and password parameters
com.Parameters.Add("@login", SqlDbType.NVarChar).Value = userName;
SqlDataReader rdr = com.ExecuteReader();
//com.Parameters.Add("@password", SqlDbType.NVarChar).Value = password;
string result = rdr[0].ToString();
// execute the select statment
// string result = Convert.ToString(com.ExecuteScalar());
//' check the result
if (string.IsNullOrEmpty(result))
{
//invalid user/password , return flase
return false;
}
else
{
// valid login
return true;
}
return true;
}
}
编译器说:
“/visualStudioWebsite”应用程序中的服务器错误。
关键字“用户”附近的语法不正确。
说明:执行当前 Web 请求期间发生未处理的异常。
请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:关键字“用户”附近的语法不正确。
源错误:
Line 57: // 设置用户名和密码参数
Line 58: com.Parameters.Add("@login", SqlDbType.NVarChar).Value = userName;
第 59 行:SqlDataReader rdr = com.ExecuteReader();
第 60 行:com.Parameters.Add("@password", SqlDbType.NVarChar).Value = 密码;
第 61 行:源文件:c:\Users\annasolovjova\Desktop\visualStudioWebsite\login.aspx.cs 行:59