.net执行修改,获得受影响行数为1,可是数据库内容却没有改变

LinyLan 2012-05-20 11:40:15
执行修改,获得受影响行数为1,可是数据库内容却没有改变。
DAL层SqlHelper类代码。
public int executeUpdate(string sql, SqlParameter[] param)
{
int count = 0;
SqlConnection conn = new SqlConnection(ConnectionString);
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
if (param != null)
{
for (int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
}
count = cmd.ExecuteNonQuery();
}
catch (FormatException ex)
{
throw ex;
}
catch (Exception ex)
{

throw ex;
}
finally
{
conn.Close();
}
return count;
}
DAL层修改信息方法代码
public int UpdateStuInfo(Student student)
{
string sql = null;
SqlParameter[] param = null;
try
{
sql = "update student set sName=@sName,sSex=@sSex,sClass=@sClass,sPhone=@sPhone "
+ "where sNO=@sNO";
param = new SqlParameter[5];
param[0] = new SqlParameter("@sName", SqlDbType.VarChar, 20);
param[0].Value = student.SName;
param[1] = new SqlParameter("@sSex", SqlDbType.VarChar, 2);
param[1].Value = student.SSex;
param[2] = new SqlParameter("@sclass", SqlDbType.VarChar, 20);
param[2].Value = student.SClass;
param[3] = new SqlParameter("@sPhone", SqlDbType.VarChar, 20);
param[3].Value = student.SPhone;
param[4] = new SqlParameter("@sNO", SqlDbType.VarChar, 20);
param[4].Value = student.SNO;
return sqlHelper.executeUpdate(sql, param);
}
catch (FormatException ex)
{
throw ex;
}
catch (Exception ex)
{

throw ex;
}
}
BLL层修改代码
public bool UpdateStuInfo(Student student)
{
int num = 0;
try
{
num = stuService.UpdateStuInfo(student);
if (num > 0)
{
return true;
}
else
{
return false;
}
}
catch (FormatException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
前台页面代码
student.SName = txtUpdateName.Text;
if (rdoUpdateMan.Checked == true)
{
student.SSex = "男";
}
else
{
student.SSex = "女";
}
student.SClass = txtUpdateOffice.Text;
student.SPhone = txtUpdatePhone.Text;
student.SNO = txtUpdateNO.Text;
bool IsUpdate = false;
try
{
IsUpdate = stuManager.UpdateStuInfo(student);
if (IsUpdate)
{
Page.RegisterStartupScript("check", "<script>alert('修改成功!');</script>");
//Response.Write("<script>alert('修改成功!');</script>");
}
else
{
Page.RegisterStartupScript("check", "<script>alert('操作失败!');</script>");
}
}
catch(FormatException ex)
{
Page.RegisterStartupScript("check", "<script>alert('请确认是否所有类型均输入正确!');</script>");
}
catch (Exception ex)
{
throw ex;
//Page.RegisterStartupScript("check", "<script>alert('数据库错误!');</script>");
}
求解!!!
...全文
300 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
licai1210 2012-05-20
  • 打赏
  • 举报
回复
我估计你要传入更新的数据和数据库里面的数据是一样的,所以虽然有了成功更新的操作,但是实际数据没变。
public int UpdateStuInfo(Student student)看这个student和数据库里面的一样吗
LinyLan 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
加Q可以帮你看下 764537152
[/Quote]
等下
huijunliang 2012-05-20
  • 打赏
  • 举报
回复
加Q可以帮你看下 764537152
LinyLan 2012-05-20
  • 打赏
  • 举报
回复
试过了,再sql语句执行处阶段,执行之后马上到数据库查询结果,依然没有变化,但是返回受影响行数为1.
mizuho_2006 2012-05-20
  • 打赏
  • 举报
回复
把单步调试得到的SQL语句到数据库中执行一下,看看有没有改变。
licai1210 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

我估计你要传入更新的数据和数据库里面的数据是一样的,所以虽然有了成功更新的操作,但是实际数据没变。
public int UpdateStuInfo(Student student)看这个student和数据库里面的一样吗
[/Quote]
那就是传入的student和数据库的一样吧
LinyLan 2012-05-20
  • 打赏
  • 举报
回复
解决了,忘写if(!Page.IsPostBack)了。
LinyLan 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
加Q可以帮你看下 764537152
[/Quote]
多谢了!!!

62,268

社区成员

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

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

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

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