数据库更新成功 在页面上却显示更新失败

Rose-chen 2010-09-27 07:29:36
用vs2005做的简单系统 有一个修改密码的页面 修改密码点提交时显示失败 在数据库里却已经改过来了 是怎么回事呀
...全文
222 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweetqueen1 2010-09-29
  • 打赏
  • 举报
回复
Convert.ToInt32(cmd.ExecuteScalar()) > 0
这个换成Convert.ToInt32(cmd.ExecuteNonQuery()) > 0
这个试试
phone1234 2010-09-28
  • 打赏
  • 举报
回复
Convert.ToInt32(cmd.ExecuteScalar())
单步查看值
iloveyoubaby 2010-09-28
  • 打赏
  • 举报
回复
另外,你程序中最好不要直接写Commad命令字符串,不安全,小心注入攻击。
可以考虑在数据库端用存储过程,一个是灵活些,便于修改,二个安全性好些
iloveyoubaby 2010-09-28
  • 打赏
  • 举报
回复
这一句错了Convert.ToInt32(cmd.ExecuteScalar()) > 0
应该用Convert.ToInt32(cmd.ExecuteNonQuery()) > 0

两者区别:
ExecuteNonQuery 已重写。 对连接执行 Transact-SQL 语句并返回受影响的行数。
ExecuteScalar 已重写。 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。

另外你的程序写的时候,最好符合缩进规则,
Assassin_ 2010-09-28
  • 打赏
  • 举报
回复
第一:你的命名该注意一下了

第二:数据处理,业务逻辑,前台操作,分层比较好.

第三:你是根据用户名,修改密码的么?
majic2008 2010-09-28
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery();返回受影响的行数
cmd.ExecuteScalar();返回结果集第一行第一列
你第一列ID不会是0吧?还有哪个.Tostring()一下
Hertz_liu 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sweetqueen1 的回复:]
你数据库内容都更新了。。显示更新失败,那估计是你逻辑判断有误了、、
[/Quote]
检查一下你的逻辑判断
Eeleng 2010-09-28
  • 打赏
  • 举报
回复
Response.Write("<script>alert('两次密码不一样!');location.href='studMain.aspx'</script>");
}

}
else
{
Response.Write("<script>alert('原始密码不正确!');location.href='studMain.aspx'</script>");
没有必要在数据访问层里进行判断吧,在表示层就可以了呀,或者是用验证控件进行处理。
还有就是可以是你的逻辑错误,你可以设置断点进行追踪。
wyq29 2010-09-28
  • 打赏
  • 举报
回复
用F11 进行逐行跟踪 不要用F10
popai72731cl 2010-09-28
  • 打赏
  • 举报
回复
可能是session的原因,如果你没有及时提交按钮,
session超时,session对象被清空,if判断失效。
还有commandText应该用parameter构造,以防
sql inject危险。
Rose-chen 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 qishihenwunai 的回复:]
引用 21 楼 ch071714301 的回复:
代码如下:
public partial class changePwd : System.Web.UI.Page
{
SqlConnection conn;
SqlCommand cmd;
//SqlDataAdapter sda;
SqlDataReader dr;
//DataSet ds;

protected void……
[/Quote]没报错呀
T_long 2010-09-28
  • 打赏
  • 举报
回复
SqlConnection conn;
SqlCommand cmd;

还是弄成局部变量吧…………
T_long 2010-09-28
  • 打赏
  • 举报
回复
int result =Convert.ToInt32(cmd.ExecuteScalar())
qishihenwunai 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 ch071714301 的回复:]
代码如下:
public partial class changePwd : System.Web.UI.Page
{
SqlConnection conn;
SqlCommand cmd;
//SqlDataAdapter sda;
SqlDataReader dr;
//DataSet ds;

protected void Page_Load(obj……
[/Quote]
难道你运行没报错?if else 怎么写的?
Rose-chen 2010-09-28
  • 打赏
  • 举报
回复
代码如下:
public partial class changePwd : System.Web.UI.Page
{
SqlConnection conn;
SqlCommand cmd;
//SqlDataAdapter sda;
SqlDataReader dr;
//DataSet ds;

protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
string oldPwd = this.oldPwd.Text;
string newPwd = this.newPwd.Text;
string rightPwd = this.rightPwd.Text;
conn = sqldata.createCon();
conn.Open();
if (Session["studPwd"].ToString()==oldPwd)
{
if (rightPwd == newPwd)
{
string studName = Session["studName"].ToString();
string commandText = "update student set studPwd='" + newPwd + "'where studName='"+ studName +"'";
cmd = new SqlCommand(commandText, conn);
if (Convert.ToInt32(cmd.ExecuteScalar()) > 0)
{
Response.Write("<script>alert('恭喜你,密码修改成功!');location.href='studMain.aspx'</script>");
}
else
{
Response.Write("<script>alert('数据库操作异常,请稍后再试!!');location.href='changePwd.aspx'</script>");
}
}
else
{
Response.Write("<script>alert('两次密码不一样!');location.href='studMain.aspx'</script>");
}

}
else
{
Response.Write("<script>alert('原始密码不正确!');location.href='studMain.aspx'</script>");
}

}
protected void Button2_Click(object sender, EventArgs e)
{
this.oldPwd.Text = "";
this.newPwd.Text = "";
this.rightPwd.Text = "";
}
}
Rose-chen 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
设置断点,单步跟踪
代码看看
[/Quote] 跟踪了,但是没出错呀,我也不知道怎么看
Rose-chen 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 runbear 的回复:]
你代码里如何判断数据库更新是否成功?
[/Quote] 数据库里的内容改了呀
misswangjinfeng 2010-09-28
  • 打赏
  • 举报
回复
快把代碼貼出來吧,利於分析。
這樣只能紙上談兵啊。
RUNBEAR 2010-09-28
  • 打赏
  • 举报
回复
你代码里如何判断数据库更新是否成功?
camperer 2010-09-28
  • 打赏
  • 举报
回复
怎么会有这么囧的事。。
加载更多回复(15)

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧