★★★DataSet内表的行已改变,如何将表及改变状态一并保存至文件里,回头还能再能读出来继续更新?
做表更新,如果在连接不可用的情况下,想将更改的数据集保存至本地XML文件,等待网络联通时,再从XML文件读入,继续提交,可我怎么才能在保存数据库时,将其与修改状态一起保存,读的时候怎么能使读出来的数据集与编辑状态与之前相同,哪位达人指点一下。
------解决方案--------------------将dataset序列化。
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxserialization/html/a1207d05-32b2-4953-8582-959607991227.htm
以2进制流的形势存为文本。
网络联通后,将文本反序列化,变为dataset.
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxserialization/html/287129c8-035a-4fea-b7b3-4790057ca076.htm
------解决方案--------------------// 保存
m_CacheData.WriteXml(SystemCacheFile, XmlWriteMode.DiffGram);
DataSet ds = m_CacheData.GetChanges();
if (ds != null)
ds.WriteXml(ChangeCacheFile, XmlWriteMode.DiffGram);
// 加载
m_CacheData.ReadXml(SystemCacheFile);
m_CacheData.RejectChanges(); ;
if (System.IO.File.Exists(ChangeCacheFile))
{
DataSet ds = new DataSet();
ds.ReadXml(ChangeCacheFile);
m_CacheData.Merge(ds);
}