读书人

更新dataset到数据库执行成功但数

发布时间: 2012-03-29 12:53:13 作者: rapoo

更新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更新是更新的其中改变的内容。

读书人网 >C#

热点推荐