110,535
社区成员
发帖
与我相关
我的任务
分享
public static DataSet ZipGetDataSet_SQL(string MD5, string sqlstr)
{
HyWeb.WebService1SoapClient sq = new HyWeb.WebService1SoapClient();
byte[] buffer = Decompress(sq.GetDataSetSurrogateZipBytes(sqlstr));
BinaryFormatter ser = new BinaryFormatter();
DataSetSurrogate dss = (DataSetSurrogate)ser.Deserialize(new MemoryStream(buffer));
return dss.ConvertToDataSet();
}
public static byte[] Decompress(byte[] data)
{
try
{
MemoryStream ms = new MemoryStream(data);
Stream zipStream = null;
zipStream = new GZipStream(ms, CompressionMode.Decompress);
byte[] dc_data = null;
dc_data = EtractBytesFormStream(zipStream, data.Length);
return dc_data;
}
catch
{
return null;
}
}
public static byte[] EtractBytesFormStream(Stream zipStream, int dataBlock)
{
try
{
byte[] data = null;
int totalBytesRead = 0;
while (true)
{
Array.Resize(ref data, totalBytesRead + dataBlock + 1);
int bytesRead = zipStream.Read(data, totalBytesRead, dataBlock);
if (bytesRead == 0)
{
break;
}
totalBytesRead += bytesRead;
}
Array.Resize(ref data, totalBytesRead);
return data;
}
catch
{
return null;
}
}