System.Data.SqlClient.SqlException:' *'附近的语法不正确

时间:2017-07-04 15:33:03

标签: asp.net sql-server session exception

我尝试使用以下代码创建会话:

SqlConnection conn = new SqlConnection("Data Source=THIRD-I;Initial Catalog=sessionlogin;Integrated Security=True;");
SqlDataAdapter sda = new SqlDataAdapter("Select (*) From logintable Where username='" + UserName.Text + "' and password='" + Password.Text + "'",conn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows[0][0].ToString()== "1")
{
    Session["user"] = UserName.Text;
    Response.Redirect("welcome.aspx");
}

2 个答案:

答案 0 :(得分:0)

您需要从数据适配器计算记录数。所以SQL查询应该是new SqlDataAdapter("Select count(*) From logintable Where username='" + UserName.Text + "' and password='" + Password.Text + "'",conn);

答案 1 :(得分:0)

修复错误:

Select (*)删除括号,或者如果您要查找总数,请添加count

必须是select *select count(*)

但是你的完整代码需要大量重构。

  1. 处置对象
  2. 参数化查询
  3. 假设您接受用户输入,则应过滤输入