为了账号安全,请及时绑定邮箱和手机立即绑定

SqlDataAdapter.Update(DataSet,"DataTableName&

SqlDataAdapter.Update(DataSet,"DataTableName&

梦里花落0921 2018-12-07 06:56:27
  鄙人不才,遇一问题,愿大家为之解忧! protected void Page_Load(object sender, EventArgs e) { string sConnectionString; sConnectionString = "Data Source=LQG-PC;Initial Catalog = test;User ID=sa;PassWord=73333xxm;"; SqlConnection Conn = new SqlConnection(sConnectionString); Conn.Open(); string commandString= "Select BianH AS 编号,ZhuCM AS 注册名,XingM AS 姓名,XingB AS 性别 FROM menber"; SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString, Conn); SqlCommandBuilder cbd = new SqlCommandBuilder(dataAdapter); DataSet ds = new DataSet(); dataAdapter.Fill(ds, "menber"); DataTable dataTable = ds.Tables["menber"]; string filterStr = "性别='男'"; string strxingb = null; DataRow[] XingB = dataTable.Select(filterStr); for (int i = 0; i < XingB.Length; i++) { DataRow temp = XingB[i]; strxingb += temp["性别"] = "men"; XingB[i] = temp; } dataAdapter.Update(ds, "menber"); ds.Tables["menber"].AcceptChanges(); GridView1.DataSource = dataTable; GridView1.DataBind(); }       以上为完整代码。解析:   数据库有一数据表“menber”,并填充到数据集中,现在更新数据集ds的数据表,把性别字段为“男”的改为“men”。我的目的是同时把这个修改更新到真正的数据表中。现在问题是按上面代码是可以做到,但是如果把黄色背景的两句交换位置,那么真正的数据表就更新不了。为什么?谢谢!
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

dataAdapter.Update(ds, "menber");这句是执行相应的UPdate 语句。

ds.Tables["menber"].AcceptChanges(); 这句才是真正提交到数据库。因为整个操作是在事务里面执行, 你要 submit 才会提交,

如果你把上面两句对调,那也会提交, 但是由于先提交然后在修改,那实际上是没做任何更改, 所以没效果。

查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 512 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信