如何把DataSet系列化,并且保存为一个文件同事如何从这个文件中还原回DataSet

解决方案 »

  1.   

    将dataset系列化为XML,只要简单地调用它的WriteXml()的几个重载方法,就可以方便地将数据系列化为XML
      

  2.   

    /// <summary>
            /// 序列化
            /// </summary>
            /// <param name="data">要序列化的对象</param>
            /// <returns>返回存放序列化后的数据缓冲区</returns>
            public static byte[] Serialize(object data)
            {
                BinaryFormatter formatter = new BinaryFormatter();
                MemoryStream rems = new MemoryStream();
                formatter.Serialize(rems, data);
                return rems.GetBuffer();
            }        /// <summary>
            /// 反序列化
            /// </summary>
            /// <param name="data">数据缓冲区</param>
            /// <returns>对象</returns>
            public static object Deserialize(byte[] data)
            {
                BinaryFormatter formatter = new BinaryFormatter();
                MemoryStream rems = new MemoryStream(data);
                data = null;
                return formatter.Deserialize(rems);
            }
      

  3.   

    上面那上是二进制的 这个是存为XML的..
    private DataSet Read()
    {
    OpenFileDialog filexml=new OpenFileDialog();
    filexml.Filter="XML文件(*.xml)|*.xml|所有文件(*.*)|*.*";
    if(filexml.ShowDialog()==DialogResult.OK)
    {
    //创建XmlTextReader对象
    XmlTextReader xReader=new XmlTextReader(filexml.FileName);
    //创建一个新的数据集
    DataSet ds=new DataSet();
    //从filexml中读出数据集
    ds.ReadXml(xReader,XmlReadMode.Auto);
                                    return ds;
    }
    return null;
    }
    private void Write(DataSet ds)
    {
    SaveFileDialog filexml=new SaveFileDialog();
    filexml.Filter="XML文件(*.xml)|*.xml|所有文件(*.*)|*.*";
    if(filexml.ShowDialog()==DialogResult.OK)
    {
    ds.WriteXml(filexml.FileName,XmlWriteMode.WriteSchema);
    }
    }
      

  4.   

    hehe ,都很对!
    我就不写了
    顺便接分!
      

  5.   

    直接用DataSet提拱的方法就可以解决啊!
      

  6.   

    奶奶个熊PPC中竟然不支持
    using System.Runtime.Serialization.Formatters.Binary;
    using System.Runtime.Serialization;
    只能使用XML了还有系列化方法吗?
      

  7.   

    up寻求PPC下的系列化和反系列化
      

  8.   

    http://www.biplip.com/default.aspx?mid=348&ctl=View&ItemId=162没有看到什么方法