急!已有打开的与此命令相关联的 DataReader,必须首先将它关闭。 asp.net
不再三重门 2013-11-30 10:00:44 源代码:
public partial class forget_psw2 : System.Web.UI.Page
{
string conStr = "server=.\\sqlexpress;database=User;uid=sa;pwd=123;";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(conStr);
con.Open();
string sqlQuery = "select * from userinfo where userName='" + Request.Params["id"].ToString() + "'";
SqlCommand cmd = new SqlCommand(sqlQuery, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
TextBox1.Text = dr["question"].ToString();
}
dr.Close();
con.Close();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//一个连接只能打开一个datareader
SqlConnection con = new SqlConnection(conStr);
con.Open();
string sqlQuery = "select * from userinfo where userName='" + Request.Params["id"].ToString() + "'";
SqlCommand cmd = new SqlCommand(sqlQuery, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
if (TextBox2.Text.Trim() == dr["answer"].ToString().Trim())
{
//Response.Redirect("forget_psw2.aspx?id='" + Request.Params["id"].ToString() + "");
sqlQuery = "update userinfo set password = '" + TextBox3.Text + "'";
cmd.CommandText = sqlQuery;
if (cmd.ExecuteNonQuery() > 0)
{
this.Response.Write(" <script language=javascript>alert('修改密码成功!');</script> ");
}
else
{
this.Response.Write(" <script language=javascript>alert('修改失败!');</script> ");
}
}
else
{
this.Response.Write(" <script language=javascript>alert('回答错误!');</script> ");
TextBox2.Text = "";
TextBox3.Text = string.Empty;
}
}
con.Close();
dr.Close();
}