Zip for .NET
データセットの圧縮
タスク別ヘルプ > データセットの圧縮

データを ZIP ファイルに圧縮するには、以下のコードを使用します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Private Sub SaveDataSet(ds As DataSet)
  'ZIP ファイルを開くまたは作成します。
   Dim zip As New C1.C1Zip.C1ZipFile()
   zip.Open("c:\temp\dataset.zip")
   'データセットを ZIP ファイルに書き込みます。
Dim s As Stream = zip.Entries.OpenWriter(ds.DataSetName, True) Try ds.WriteXml(s, XmlWriteMode.WriteSchema) Finally s.Dispose() End Try End Sub Private Sub CheckDataSet(ds As DataSet) 'ZIP ファイルを開くまたは作成します。 Dim zip As New C1.C1Zip.C1ZipFile() zip.Open("c:\temp\dataset.zip") 'データセットを ZIP ファイルから読み込みます。 Dim dsTest As New DataSet(ds.DataSetName) Dim s As Stream = zip.Entries(ds.DataSetName).OpenReader() Try dsTest.ReadXml(s) Finally s.Dispose() End Try 'データセットが同じであるかどうか確認します。 For i = 0 To ds.Tables.Count - 1 Dim dt1 As DataTable = ds.Tables(i) Dim dt1 As DataTable = ds.Tables(i) Dim dt2 As DataTable = dsTest.Tables(i) Debug.Assert((dt1.TableName = dt2.TableName And dt1.Columns.Count = dt2.Columns.Count And dt1.Rows.Count = dt2.Rows.Count)) Next i End Sub

C# コードの書き方

C#
コードのコピー
private void SaveDataSet(DataSet ds)
{
    //ZIP ファイルを開くまたは作成します。
    C1.C1Zip.C1ZipFile zip = new C1.C1Zip.C1ZipFile();
    zip.Open(@"c:\temp\dataset.zip");
   //データセットを ZIP ファイルに書き込みます。
    using (Stream s = zip.Entries.OpenWriter(ds.DataSetName, true))
   {
     ds.WriteXml(s, XmlWriteMode.WriteSchema);
   }
}
private void CheckDataSet(DataSet ds)
{
    //ZIP ファイルを開くまたは作成します。
    C1.C1Zip.C1ZipFile zip = new C1.C1Zip.C1ZipFile();
    zip.Open(@"c:\temp\dataset.zip");
    //データセットを ZIP ファイルから読み込みます。
    DataSet dsTest = new DataSet(ds.DataSetName);
    using (Stream s = zip.Entries[ds.DataSetName].OpenReader())
    {
      dsTest.ReadXml(s);
    }
    // データセットが同じであるかどうか確認します。
    for (int i = 0; i < ds.Tables.Count; i++)
    {
        DataTable dt1 = ds.Tables[i];
        DataTable dt2 = dsTest.Tables[i];
        System.Diagnostics.Debug.Assert(dt1.TableName == dt2.TableName  dt1.Columns.Count == dt2.Columns.Count  dt1.Rows.Count == 
dt2.Rows.Count)
} }