+ -
当前位置:首页 → 问答吧 → C#错误

C#错误

时间:2011-12-22

来源:互联网

SqlConnection con = new SqlConnection(sqlStr);
  con.Open();
  string sqlstr = "select * from users where userName ='" + yourname.Text + "'";
  SqlCommand cmd = new SqlCommand(sqlStr, con);
  SqlDataReader dr = cmd.ExecuteReader();("="附近有语法错误)
  if (dr != null && dr.HasRows)
  {
  while (dr.Read())
  {
  string ans1 = dr["answer1"].ToString();
  string ans2 = dr["answer2"].ToString();
  string ans3 = dr["answer3"].ToString();
  if (yourplace.Text!= ans1)
  {
  MessageBox.Show("第一个问题回答不正确!");
  //清空,定焦点
  return;
  }
  if (dadjob.Text != ans2)
  {
  MessageBox.Show("第二个问题回答不正确!");
  //清空,定焦点
  return;
  }
  if (monjob.Text != ans3)
  {
  MessageBox.Show("第三个问题回答不正确!");
  //清空,定焦点
  return;
  }
  MessageBox.Show("回答正确,请修改密码!");
   
   
  }
  }
  else
  {
  MessageBox.Show("用户名不正确");
  yourname.Text = "";
  yourname.Focus();
  }
  }

求高手解决~~~谢谢~~

作者: buildingchen   发布时间: 2011-12-22

yourname.Text值是什么?

作者: chenlilinman   发布时间: 2011-12-22

不要用这种方式 使用SqlParameter去做
C# code
string sqlstr = "select * from users where userName =@userName";

SqlParameter[] parameters = {
                    new SqlParameter("@userName", SqlDbType.NVarChar,50)};
            parameters[0].Value = yourname.Text;

作者: chenlilinman   发布时间: 2011-12-22

string sqlstr = string.Format("select * from users where userName ='{0}'", yourname.Text.Replace(",","''"));

用这一句替换一下


如果你的yourname.Text中不可能存在单一号 
那下面一句就可以了
string sqlstr = string.Format("select * from users where userName ='{0}'", yourname.Text);

作者: feng1366259807   发布时间: 2011-12-22

写错了一个地方, 是 单引号 补充一下

作者: feng1366259807   发布时间: 2011-12-22

Sql语句错误,建议用2楼的方法,用参数查询
或者替换掉yourname.Text 的关键字、单撇号之类

作者: wr1985   发布时间: 2011-12-22

相关阅读 更多