private void txtLogin_Click(object sender, System.EventArgs e)
{
Session["UserName"]= null;
MySqlConnection conn = db.CreateCon();
conn.Open();
MySqlCommand cmd = new MySqlCommand("select UserName,UserPwd from Member where (UserName='"+txtUserName.Text+"' and UserPwd'"+txtUserPwd.Text+"')",conn);

MySqlDataReader dr=cmd.ExecuteReader();

if( dr.Read() )
{   
Session["UserName"]= dr["UserName"].ToString();
Session["UserPwd"]=dr["UserPwd"].ToString();

Response.Redirect("my.aspx");
}
else 
{
Response.Redirect("index.aspx"); }
conn.Close();
}

解决方案 »

  1.   

    错误信息
    #42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''cjw1421')' at line 1 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: MySql.Data.MySqlClient.MySqlException: #42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''cjw1421')' at line 1源错误: 
    行 60:  MySqlCommand cmd = new MySqlCommand("select UserName,UserPwd from Member where (UserName='"+txtUserName.Text+"' and UserPwd'"+txtUserPwd.Text+"')",conn);
    行 61: 
    行 62:  MySqlDataReader dr=cmd.ExecuteReader();
    行 63: 
    行 64:  if( dr.Read() )
     
      

  2.   

    行 60:  MySqlCommand cmd = new MySqlCommand("select UserName,UserPwd from Member where (UserName='"+txtUserName.Text+"' and UserPwd='"+txtUserPwd.Text+"')",conn);
      

  3.   

    MySqlCommand cmd = new MySqlCommand("select UserName,UserPwd from Member where (UserName='"+txtUserName.Text+"' and UserPwd='"+txtUserPwd.Text+"')",conn);
      

  4.   

    给session没有关系, 你sql写错了
    你最好输出看下你的sql最后结果是什么样子, 
    我只能看出你的UserPwd那个地方少一个=号。
      

  5.   

    我要进入my.aspx(显示用户注册信息),我是传Session["UserName"]还是传Session["id"]呢?
    什么样进行操作
      

  6.   

    看错误提示应该是数据层有错误,看看SQL语句吧。
    如果可以记录ID的时候优先记录ID,用到显示NAME的时候再查询一遍。毕竟NAME是可以变的。