update更新数据库,无错误,为什么数据库的值没有变化?

jinlong2015 2013-05-30 10:06:15
protected void confirm_Click(object sender, EventArgs e)
{
//获取页面内控件的值
string sno = this.tb_Number.Text;
string sname = this.tb_Name.Text;
string sqq = this.tb_QQ.Text;
this.DropDownList1.ClearSelection();
string sclass = this.DropDownList1.SelectedValue.ToString();
string ssex = this.RadioButtonList1.SelectedValue.ToString();
string stel = this.tb_Tel.Text;
string sadress = this.tb_address.Text;
string semail = this.tb_email.Text;
//建立连接
SqlConnection conn = new SqlConnection(conString);

//command对象
string sql = string.Format("UPDATE Student SET Sname=@sname,Ssex=@ssex,Sqq=@sqq,Stel=@stel,Sclass=@sclass,Sadress=@sadress,Semail=@semail where Sno=@sno");
SqlCommand cmd = new SqlCommand(sql);

cmd.Connection = conn;
cmd.Parameters.AddWithValue("@sno", sno);
cmd.Parameters.AddWithValue("@sname", sname);
cmd.Parameters.AddWithValue("@ssex", ssex);
cmd.Parameters.AddWithValue("@sqq", sqq);
cmd.Parameters.AddWithValue("@stel", stel);
cmd.Parameters.AddWithValue("@sclass", sclass);
cmd.Parameters.AddWithValue("@sadress", sadress);
cmd.Parameters.AddWithValue("@semail", semail);

//执行
try
{
if(conn.State!=ConnectionState.Open)
{
conn.Open();
}

int i = cmd.ExecuteNonQuery();
if (i != 0)
{
Response.Write("<script>alert('更新成功!')</script>");
}
else
{
Response.Write("<script>alert('更新失败!')</script>");
}


}
catch
{
Response.Write("<script>alert('更新过程出现问题!')</script>");
}
finally
{
conn.Close();
}
}
...全文
614 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinlong2015 2013-05-31
  • 打赏
  • 举报
回复 1
呵呵,自己解决了,confirm_Click()事件获取页面中控件的值的时候依旧是原来的值。 解决办法关键代码: 定义全局变量 private string sno = ""; private string sname = ""; private string sqq = ""; //private this.DropDownList1.ClearSelection(); private string sclass = ""; private string ssex = ""; private string stel = ""; private string sadress = ""; private string semail = ""; protected void Page_Load(object sender, EventArgs e) { if(IsPostBack) { sno = this.tb_Number.Text.Trim(); sname = this.tb_Name.Text.Trim(); sqq = this.tb_QQ.Text.Trim(); sclass = this.DropDownList1.SelectedValue.ToString().Trim(); this.DropDownList1.ClearSelection(); ssex = this.RadioButtonList1.SelectedValue.ToString().Trim(); stel = this.tb_Tel.Text.Trim(); sadress = this.tb_address.Text.Trim(); semail = this.tb_email.Text.Trim(); } 感谢各位的鼎力支持!
persuit666 2013-05-31
  • 打赏
  • 举报
回复
没见你有赋值sql的地方啊 cmd.CommandText=sql ; 严重的低级错误!!
coobai 2013-05-31
  • 打赏
  • 举报
回复

cmd.Parameters.AddWithValue("@sno", sno);
cmd.Parameters.AddWithValue("@sname", sname);
cmd.Parameters.AddWithValue("@ssex", ssex);
cmd.Parameters.AddWithValue("@sqq", sqq);
cmd.Parameters.AddWithValue("@stel", stel);
cmd.Parameters.AddWithValue("@sclass", sclass);
cmd.Parameters.AddWithValue("@sadress", sadress);
cmd.Parameters.AddWithValue("@semail", semail);

cmd.Parameters.AddWithValue("@sname", sname);
cmd.Parameters.AddWithValue("@ssex", ssex);
cmd.Parameters.AddWithValue("@sqq", sqq);
cmd.Parameters.AddWithValue("@stel", stel);
cmd.Parameters.AddWithValue("@sclass", sclass);
cmd.Parameters.AddWithValue("@sadress", sadress);
cmd.Parameters.AddWithValue("@semail", semail);
cmd.Parameters.AddWithValue("@sno", sno);
不知是否有这个顺序问题,我似乎好像隐隐约约记得,不太确定。
jinlong2015 2013-05-31
  • 打赏
  • 举报
回复
引用 11 楼 wuzhengqing1 的回复:
sno你这个值在数据库中有吗? 表示严重怀疑
数据库中的Sno!
moonwrite 2013-05-30
  • 打赏
  • 举报
回复
会不会你把原来的值又更新回去了~ 所以没有变~ 另外试试去学 实体 + 三层 吧 在Sql Server的界面中 工具 Sql Server Profiler可以检测程序发给数据库是什么语句 分析一下语句
快乐的小二兔 2013-05-30
  • 打赏
  • 举报
回复
son是 int类型被。 提示更新成功
  • 打赏
  • 举报
回复
拿出sql语句直接放查询分析器里面执行
lr5420511 2013-05-30
  • 打赏
  • 举报
回复
引用 4 楼 insus 的回复:
更新完之后,要重新绑定数据,而且是在 if (!IsPostBack) { //data binding here. }
呵呵,答非所问,看清楚人家问的问题,谢谢
insus 2013-05-30
  • 打赏
  • 举报
回复
更新完之后,要重新绑定数据,而且是在 if (!IsPostBack) { //data binding here. }
u010853793 2013-05-30
  • 打赏
  • 举报
回复
设个断点在SQL语句那里,根据获取到的SQL语句和值,直接在数据库中执行看有没有什么错误
_萧萧 2013-05-30
  • 打赏
  • 举报
回复
返回是更新成功还是失败 如果是更新失败的话 sno 是否有记录在数据库 sno是否带有空格
LemonSmile_ 2013-05-30
  • 打赏
  • 举报
回复
又是这样的帖子 估计是数据库连接字符串填的mdf路径要写绝对路径 试下吧
_老吴 2013-05-30
  • 打赏
  • 举报
回复
sno你这个值在数据库中有吗? 表示严重怀疑
你说中文吧 2013-05-30
  • 打赏
  • 举报
回复
目测i=-1,string.Format坑了吧
菜鸟王小凡 2013-05-30
  • 打赏
  • 举报
回复
八成是 sql 语句 写错了吧、 设个 断点 看看sql 语句是否 有误!!

62,066

社区成员

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

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

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

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