日期:2014-05-17  浏览次数:20424 次

求asp.net高手帮忙,很简单的小程序
protected void Button1_Click(object sender, EventArgs e)
  {



  string strConn = ConfigurationManager.AppSettings["ConnString"];
  SqlConnection Conn = new SqlConnection(strConn);
  string sql = "SELECT PeopleID, PeopleName,Pwd FROM PI WHERE PeopleName='" + TextBox1.Text + "'";
  if (Conn.State != ConnectionState.Open)
  {
  Conn.Open();
  }
  SqlDataAdapter adp = new SqlDataAdapter(sql, Conn);//这里也可以直接初始化一个SQLCommand来进行传递
  DataTable dt = new DataTable();
  adp.Fill(dt);

  Conn.Close();


  if (dt.Rows.Count > 0)
  {
  if ( TextBox2.Text==dt.Rows[0]["Pwd"].ToString())
  {
  Response.Redirect("login.aspx");
  }
  else Response.Write("<script language='javascript'>alert('密码错误!');</script>");
  }
  else Response.Write("<script language='javascript'>alert('您还没有注册!');</script>");
数据库都能连接成功了,就是一个简单的用户登录界面,可是我每次输入正确的姓名和密码的时候就显示密码错误,而不能正确的跳转到登录。我看了,数据库没有问题,试了试,好像就是TextBox2.Text==dt.Rows[0]["Pwd"].ToString()有问题,请高手指出!


------解决方案--------------------
你自己调试,看看里面的值就知道了。
TextBox2.Text==dt.Rows[0]["Pwd"].ToString()


SELECT PeopleID, PeopleName,Pwd FROM PI WHERE PeopleName='" + TextBox1.Text + "'";
一般的登录也不是你这样写的。你只传了一个值。

TextBox2.Text 里面你可能不等于 dt.Rows[0]["Pwd"].ToString()