问题描述
这是我的修改密码的代码,要求输入用户名,密码,原密码和确认密码四个内容usingSystem;usingSystem.Linq;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingSystem.Web.Configuration;publicpartialclassuser_ChangePwd:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidbtnChangePwd_Click(objectsender,EventArgse){stringstrPwd="";stringstrSql="";stringstrTip="";clsDBdbo=newclsDB();SqlDataReadermyReader;strSql="selectPwdfromtabUsersInfowhereUserName='"+txtUserName.Text+"'";myReader=dbo.GetResultAsDataReader(strSql);if(myReader.Read()){strPwd=myReader["Pwd"].ToString();}if(txtPwd.Text.ToString()==strPwd){strSql="updatetabUsersInfosetPwd='"+txtNPwd.Text+"'whereUserName='"+txtUserName.Text+"'";strTip=dbo.ExecuteNoReturn1(strSql,strTip);if(strTip=="成功!"){Response.Write("<script>alert('密码修改成功!')</script>");}else{Response.Write("<script>alert('密码修改失败!')</script>");}}else{Response.Write("<script>alert('原密码错误!')</script>");}myReader.Close();myReader.Dispose();dbo.killMe();}}这是上面用到的一些函数:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Data;usingSystem.Configuration;usingSystem.Data.SqlClient;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;///<summary>///clsDB的摘要说明///</summary>publicclassclsDB{publicSqlConnectionConnection;publicclsDB(){Connection=newSqlConnection(connectionString());}privatestringconnectionString(){returnSystem.Configuration.ConfigurationManager.AppSettings["ConnectionString"];}publicSqlDataReaderGetResultAsDataReader(stringstrSql){SqlCommandcommand=newSqlCommand(strSql,Connection);if(Connection.State==ConnectionState.Closed)Connection.Open();returncommand.ExecuteReader();}publicstringExecuteNoReturn1(stringstrSql,stringstrTip){stringstrReturn1;SqlCommandmyCommand=newSqlCommand(strSql,Connection);try{if(Connection.State==ConnectionState.Closed)Connection.Open();myCommand.ExecuteNonQuery();strReturn1=strTip+"成功";}catch{strReturn1=strTip+"失败";}myCommand.Dispose();Connection.Close();returnstrReturn1;}publicvoidkillMe(){Connection.Dispose();}}
解决方案
解决方案二:
修改不成功是为什么?弹出提示是密码修改失败?我看你的代码应该百分百执行到修改密码失败的吧?函数中返回的是这个strReturn1=strTip+"成功";判断是这个if(strTip=="成功!")IF肯定跳不进去的其他的还有什么问题就一点点看,你先看看ExecuteNoReturn1返回的字符串是什么,成功还是失败,如果是失败的话,那就是数据库操作失败了
解决方案三:
是的是的想起来了万分感谢
解决方案四:
引用1楼fxj805835819的回复:
修改不成功是为什么?弹出提示是密码修改失败?我看你的代码应该百分百执行到修改密码失败的吧?函数中返回的是这个strReturn1=strTip+"成功";判断是这个if(strTip=="成功!")IF肯定跳不进去的其他的还有什么问题就一点点看,你先看看ExecuteNoReturn1返回的字符串是什么,成功还是失败,如果是失败的话,那就是数据库操作失败了
是的是的我想起来了这个代码没有改过来,谢谢
解决方案五:
引用1楼fxj805835819的回复:
修改不成功是为什么?弹出提示是密码修改失败?我看你的代码应该百分百执行到修改密码失败的吧?函数中返回的是这个strReturn1=strTip+"成功";判断是这个if(strTip=="成功!")IF肯定跳不进去的其他的还有什么问题就一点点看,你先看看ExecuteNoReturn1返回的字符串是什么,成功还是失败,如果是失败的话,那就是数据库操作失败了
大神返回的字符串是失败,为什么会数据库操作失败呢?这段代码我在实现别的功能上也用过是可以用的,求大神帮帮忙
解决方案六:
操作数据库失败原因比如你链接有问题比如你sql有问题再查查,你把sql语句放数据库里执行看看
解决方案七:
引用4楼slc_tt的回复:
Quote: 引用1楼fxj805835819的回复:
修改不成功是为什么?弹出提示是密码修改失败?我看你的代码应该百分百执行到修改密码失败的吧?函数中返回的是这个strReturn1=strTip+"成功";判断是这个if(strTip=="成功!")IF肯定跳不进去的其他的还有什么问题就一点点看,你先看看ExecuteNoReturn1返回的字符串是什么,成功还是失败,如果是失败的话,那就是数据库操作失败了大神返回的字符串是失败,为什么会数据库操作失败呢?这段代码我在实现别的功能上也用过是可以用的,求大神帮帮忙
ExecuteNoReturn1这个函数跳到catch里面了?把报的错误显示出来看看具体的原因,排除代码的原因的话你可以查查你写的SQL语句,直接拿出来运行看看有没有报错