注册 登录
编程论坛 ASP.NET技术论坛

[已经解决]下面一段代码!!谢谢!!

tel1982 发布于 2007-04-22 18:29, 1220 次点击
请各位帮帮忙看一下:
private void btnChange_Click(object sender, System.EventArgs e)
{
SqlConnection con=new SqlConnection(Application["conStr"].ToString());
con.Open();
string str="select * from users";
SqlCommand cmd=new SqlCommand(str,con);
SqlDataReader sdr=cmd.ExecuteReader();
string oldPassword=this.txtOldpassword.Text;
sdr.Read();
if(oldPassword==sdr["userPassword"].ToString().Trim())
{
sdr.Close();
string newPassword=this.txtOldpassword.Text;
string confirmNewpassword=this.txtConfirmNewpassword.Text;
if(newPassword==confirmNewpassword)
{
SqlConnection con1=new SqlConnection(Application["conStr"].ToString());
con1.Open();
string str1="updata users set userPassword='"+newPassword+"'";
SqlCommand cmd1=new SqlCommand(str1,con);
cmd1.ExecuteReader();
cmd1.Dispose();
con1.Close();
con1.Dispose();

}
else
{
Response.Write("<script>alert('你两次输入的密码不一致,请重新输入!');</script>");
}
}
else
{
Response.Write("<script>alert('你的原始密码不正确,请重新输入!');</script>");
}
cmd.Dispose();
con.Close();
con.Dispose();
}

[此贴子已经被作者于2007-4-23 15:23:27编辑过]

23 回复
#2
tel19822007-04-22 18:30
这是一个修改密码的程序代码。
#3
球球2007-04-22 18:47
怎么那么多连接?这样会出问题的.
修改密码不就是更新数据库吗?
增,删,改都是一个方法
/// <summary>
/// 增,删,改操作
/// </summary>
/// <param name="sql">SQL语句</param>
/// <param name="parms">参数集合</param>
/// <returns>返回0或1</returns>
static public int ExecuteNonQuery(string sql, params SqlParameter[] parms)
{
using(SqlConnection con = new SqlConnection(ConnStr))
{
con.Open();
SqlCommand cmd = new SqlCommand(sql,con);
foreach(SqlParameter p in parms)
cmd.Parameters.Add(p);
return cmd.ExecuteNonQuery();
}
}
#4
tel19822007-04-22 19:06

不好意思,你这样的方法我还有点看不懂呀,我比较菜,刚学没有多久。能否就我的那一段帮忙给改一下??

#5
球球2007-04-22 19:12

呵呵.我还没看懂你的意思.等下吃完饭再来.

#6
球球2007-04-22 19:26
string oldPassword=this.txtOldpassword.Text;
string newPassword=this.txtOldpassword.Text;
这个有点问题吧?
要不你把整个打包发上来.
#7
球球2007-04-22 19:38
后面那个用这个方法.
cmd1.ExecuteNonQuery();
#8
tel19822007-04-22 21:44
你给我指出的问题我都改了,但还是不行,不过真的很感谢你!
#9
tel19822007-04-22 21:51
我的这个也比较简单,总共就上面那么一点代码。
#10
球球2007-04-23 01:10
有点乱,既然是修改密码
select * from users
updata users set userPassword='"+newPassword+"'
后面应该带个条件的.
#11
tel19822007-04-23 08:53
这句话我也写了,你看上面的str1不就是这样定义的吗?
#12
bygg2007-04-23 09:06
为什么你的更新语句没有 where 条件呢??
#13
djx5202007-04-23 09:36
private void btnChange_Click(object sender, System.EventArgs e)
{
SqlConnection con=new SqlConnection(Application["conStr"].ToString());
con.Open();
string str="select * from users";
SqlCommand cmd=new SqlCommand(str,con);
SqlDataReader sdr=cmd.ExecuteReader();
string oldPassword=this.txtOldpassword.Text;
sdr.Read();
if(oldPassword==sdr["userPassword"].ToString().Trim())
{
sdr.Close();
string newPassword=this.txtOldpassword.Text;
string confirmNewpassword=this.txtConfirmNewpassword.Text;
if(newPassword==confirmNewpassword)
{
//这里你的con.Open();的连接并没有关闭,所以不必要在打开新的连接

//SqlConnection con1=new SqlConnection(Application["conStr"].ToString());
//con1.Open();
string str1="updata users set userPassword='"+newPassword+"' where userPassword='"+oldPassword+"'";
SqlCommand cmd1=new SqlCommand(str1,con);
//cmd1.ExecuteReader();
//这一句写错了,应该是实行sql语句,以后要注意
cmd1.ExecuteNonQuery();
cmd1.Dispose();
//con1.Close();
//con1.Dispose();

}
else
{
Response.Write("<script>alert('你两次输入的密码不一致,请重新输入!');</script>");
}
}
else
{
Response.Write("<script>alert('你的原始密码不正确,请重新输入!');</script>");
}
cmd.Dispose();
con.Close();
con.Dispose();
}
//总的来说这段代码有点乱,以后你要记得精简代码,asp.net 的代码一般不宜超过400行,做个修改密码不应写这么多
#14
sdlklhd2007-04-23 10:07
using(SqlConnection con = new SqlConnection(ConnStr))
这段代码是什么意思?
#15
tel19822007-04-23 10:42
还是不行,它总是提示我处这个错误:
只有本站会员才能查看附件,请 登录

怎么回事呀?
13楼的大哥。
#16
球球2007-04-23 14:06
updata users set userPassword='....
应该是update
#17
冰镇柠檬汁儿2007-04-23 14:50
update语句写错了,再好好查一下
#18
tel19822007-04-23 15:21
我真是太粗心了。谢谢你们了,可惜我不知道怎么给你们加分,如果可以的话,我真的很想给你们加分,真的很感谢你们。

[此贴子已经被作者于2007-4-23 15:21:54编辑过]


#19
sishen2007-04-23 22:38

目前看不懂哦,,
知识太浅啊..

#20
sishen2007-04-23 22:41
问一下啊:
是JAVA有前途还是script有前途啊>
??
#21
sdlklhd2007-04-24 07:36
学好了什么都一样
#22
tel19822007-04-24 08:44

楼上的说得很正确,什么学好了都很有前途的。

#23
sdlklhd2007-04-24 14:00
#24
tel19822007-05-21 13:08
1