不报错,但确实没更新这条数据,换了好几种写法,都不行!
哪位大哥给看看啊,谢谢了。
- C# code
string connectionString = ConfigurationManager.ConnectionStrings["CreateWord"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); con.Open(); string name = Session["S_name"].ToString(); string cmdtext = "update IH_login set IH_pw='"+ pw +"' where IH_username='" + name + "'"; SqlCommand cmd1 = new SqlCommand(cmdtext, con); cmd1.ExecuteNonQuery(); if ((int)cmd1.ExecuteNonQuery() > 0) { Label4.Text = "密码修改成功!"; } else { Label4.Text = "失败!"; } con.Close();
链接数据库肯定没问题,问题就在UPDATE……
谁给推荐个好点的资源,关于更新数据如何写,我从写这段也行。
------解决方案--------------------------------------------------------
执行了两遍?
1. 在SQL server management studio中执行cmdtext 确保where 能找的数据
2. 确定connectionString连接的是正确的数据库,
3. 用SQL Profile看看什么sql语句被执行了。
另外,你这样拼接sql 语句,小心sql injection.
------解决方案--------------------------------------------------------
pw变量的值不会就是原来的值吧,代码本身没错。
------解决方案--------------------------------------------------------
- C# code
string connectionString = ConfigurationManager.ConnectionStrings["CreateWord"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); con.Open(); string name = Session["S_name"].ToString(); string cmdtext = "update IH_login set IH_pw='"+ pw +"' where IH_username='" + name + "'"; SqlCommand cmd1 = new SqlCommand(cmdtext, con); if ((int)cmd1.ExecuteNonQuery() > 0) { Label4.Text = name+"密码修改成功!新密码"+pw; } else { Label4.Text = "失败!"; } con.Close();