更新dataset到数据库,执行成功,但数据未被修改。
SqlDataAdapter da = new SqlDataAdapter( "select * from 测点信息 ", conn);
DataSet ds = new DataSet();
ds.ReadXmlSchema(new StringReader(SchemaText));
ds.ReadXml(new StringReader(XmlText),XmlReadMode.InferSchema);
ds.Tables[0].Rows[0].AcceptChanges();
ds.Tables[0].Rows[0].SetModified();
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(da);
int i = da.Update(ds, "测点信息 ");
-------------------------------
执行完后,i=1,但表里的数据未更新。
如果删除以下语句:
ds.Tables[0].Rows[0].AcceptChanges();
ds.Tables[0].Rows[0].SetModified();
则dataset的数据能成功新增到表里,但我需要是update而不是insert。
不知道上面的代码哪里出了问题,望各位大侠帮忙看看。
------解决方案--------------------ds.Tables[0].Rows[0].AcceptChanges();
ds.Tables[0].Rows[0].SetModified();
这里肯定有问题,估计没有改变原来的值,所以执行成功,但数据没变
------解决方案--------------------ds.AcceptChanges();
------解决方案--------------------ds.Tables[0].Rows[0].AcceptChanges();
在调用update前用它?
它把所有rowstate都改成unchange,还更新什么啊?
------解决方案----------------------------------------
ds.Tables[0].Rows[0].AcceptChanges();
在调用update前用它?
它把所有rowstate都改成unchange,还更新什么啊?
---------------------
我也这么认为,DataSet更新是更新的其中改变的内容。