| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 728 人关注过本帖
标题:修改密码问题
只看楼主 加入收藏
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
 问题点数:0 回复次数:6 
修改密码问题
修改密码如下:
    为什么有错呢,系统提示:  cmd.ExecuteNonQuery(); 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
 protected void Page_Load(object sender, EventArgs e)
    {
        string user = Request["user"].ToString();//用户名
        Label1 .Text= user ;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection meteor = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["meteor"]);
        meteor.Open();
        SqlCommand comm = new SqlCommand("select * from studentlogin where username='" + Label1.Text + "' and password='" + this.TextBox1.Text + "'", meteor);

        SqlDataReader dr = comm.ExecuteReader();

        if (!dr.Read())
        {
            Response.Write("<script>alert('原密码错误!')</script>");
            dr.Close();
        }
        else
        {
            SqlCommand cmd = new SqlCommand("update studentlogin set password='" + TextBox2.Text + "'where username='" + Label1.Text + "'", meteor);
            cmd.ExecuteNonQuery();
            Response.Write("<script>alert(修改成功!'')</script>");
            meteor.Close();            
        }
    }
搜索更多相关主题的帖子: 密码 
2008-04-08 19:49
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
你的dr.close()写在if()中,当执行else时就跳过了dr.close();
建议你将程序改成这样的,会觉得清晰一些,当然你也可以修改你自己的代码以为成功能:
 protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection meteor = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["meteor"]);
        meteor.Open();
     try{
            SqlCommand cmd = new SqlCommand("update studentlogin set password='" + TextBox2.Text + "'where username='" + Label1.Text + "'"and where password='" + this.TextBox1.Text + "', meteor);
            cmd.ExecuteNonQuery();
            Response.Write("<script>alert(修改成功!'')</script>");
            meteor.Close();            
        }
   catch
      {
        Response.Write("<script>alert('原密码错误!')</script>");
       }
2008-04-08 20:27
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
恩?
怎么有好多错呢?
update语句那.
2008-04-08 20:52
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
咦???
我改了一下,好象可以改密码了.可是我输的原密码是错的,它也弹出修改成功.当然,数据库里的没改是真 的

[[it] 本帖最后由 晋加答 于 2008-4-8 21:08 编辑 [/it]]
2008-04-08 21:00
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
[bo]以下是引用 [un]hebingbing[/un] 在 2008-4-8 20:27 的发言:[/bo]

你的dr.close()写在if()中,当执行else时就跳过了dr.close();


我去掉那个也还是不行啊,
2008-04-08 21:02
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
SqlCommand cmd = new SqlCommand("update studentlogin set password='" + TextBox2.Text.Tostring() + "'where username='" + Label1.Text.Tostring() + "'and  password='" + this.TextBox1.Text .Tostring()+ "'", meteor);
你不能原字不动的就copy吧?我没有开vc手写的,
要是你要用你的继续的话,那句不但不能删,而且要在else语句中也写上才可以通过的……
2008-04-08 21:22
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
呵呵,你给的那个我改了啊 ,呵呵.
不过,我输的原密码是错的,它也弹出修改成功.当然,数据库里的没改是真 的
2008-04-08 21:32
快速回复:修改密码问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050033 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved