做表更新,如果在连接不可用的情况下,想将更改的数据集保存至本地XML文件,等待网络联通时,再从XML文件读入,继续提交,可我怎么才能在保存数据库时,将其与修改状态一起保存,读的时候怎么能使读出来的数据集与编辑状态与之前相同,哪位达人指点一下。

解决方案 »

  1.   

    将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
      

  2.   

    // 保存
    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);
    }