盡管dataset可以存成xml。但這樣或多或少會存在讀取上的問題。而且從體積角度來講,也不利于傳輸。
具體的函數(shù)如下:
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
public static DataSet RetrieveDataSet(byte[] binaryData) { //創(chuàng)建內(nèi)存流 MemoryStream memStream = new MemoryStream(binaryData); //產(chǎn)生二進制序列化格式 IFormatter formatter = new BinaryFormatter(); //反串行化到內(nèi)存中 object obj = formatter.Deserialize(memStream); //類型檢驗 if (obj is DataSet) { DataSet dataSetResult = (DataSet)obj; return dataSetResult; } else { return null; } } public static Byte[] GetBinaryFormatDataTable(DataTable tab) { //創(chuàng)建內(nèi)存流 MemoryStream memStream = new MemoryStream(); //產(chǎn)生二進制序列化格式 IFormatter formatter = new BinaryFormatter(); //指定DataSet串行化格式是二進制 tab.RemotingFormat = SerializationFormat.Binary; //串行化到內(nèi)存中 formatter.Serialize(memStream, tab); //將DataSet轉(zhuǎn)化成byte[] byte[] binaryResult = memStream.ToArray(); //清空和釋放內(nèi)存流 memStream.Close(); memStream.Dispose(); return binaryResult; }
此代碼非原產(chǎn)。轉(zhuǎn)載處:http://xujunprogrammer.blog.hexun.com/7460858_d.html