• Dataset与二进制流的转换


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.IO;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;
    
    namespace BaseClientClass
    {
        public class XMLClass
        {
            /**/
            /// <summary>
            /// 此方法实现对Dataset的序列化生成二进制流
            /// </summary>
            /// <param name="err"></param>
            /// <returns>dsResult</returns>
            public byte[] DatasetToBinary( System.Data.DataSet dsResult,ref string err)
            {
                //ClearCommand();
                //DataSet dsResult = new DataSet();
                byte[] bArrayResult = null;
                try
                {
                    //dsResult = SqlHelper.ExecuteDataset(m_currentConnectionString, CommandType.Text, m_commandStringBuilder.ToString());
                    // 上面都是取数据的,无需关心.二进制压缩数据集是下面一小段
                       dsResult.RemotingFormat = SerializationFormat.Binary;
                    MemoryStream ms = new MemoryStream();
                    IFormatter bf = new BinaryFormatter();
                    bf.Serialize(ms, dsResult);
                    bArrayResult = ms.ToArray();
                    ms.Close();
                }
                catch (Exception ee)
                {
                    err = ee.ToString();
                }
                return bArrayResult;
            }
    
            /**/
            /// <summary>
            /// 此方法实现从二进制流还原Dataset数据
            /// </summary>
            /// <returns></returns>
            public DataSet BinaryToDataset(byte[] bUserData)
            {
                if (bUserData == null)
                {
                    //MessageBox.Show("二进制数据流为空");
                    //err = "";
                    return null;
                }
                // 反序列化的过程
                  MemoryStream ms = new MemoryStream(bUserData);
                IFormatter bf = new BinaryFormatter();
                object obj = bf.Deserialize(ms);
                DataSet dsResult = (DataSet)obj;
                ms.Close();
                return dsResult;
            }
    
        }
    }
    
    
  • 相关阅读:
    [转载]c++转python
    [转载]One-hot编码
    [转载]各种机器学习算法的应用场景
    SVC和SVR
    机器学习-正则化+回归与分类辨析
    C#编译时,提示缺少NuGet包
    C++中 左值和右值的区别
    C++11并发编程实战 免费书籍
    静态库和动态库
    C++中string类
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/2757808.html
Copyright © 2020-2023  润新知