代码之家  ›  专栏  ›  技术社区  ›  Thirupathi cst

MDB文件数据插入增加MDB大小

  •  0
  • Thirupathi cst  · 技术社区  · 6 年前

    我有一个mdb文件数据插入到mdb后运行良好 mdb文件ex:200mb的大小在我使用ms office打开和关闭mdb文件时显示,它将大小减小到14mb如何解决此问题

    我的代码

    ADOX.Catalog cat = new ADOX.Catalog();
    ADOX.Table table = new ADOX.Table();
    
    table.Name = "StickerData";
    
    table.Columns.Append("Centercode", ADOX.DataTypeEnum.adVarWChar, 30);
    table.Columns.Append("Centername", ADOX.DataTypeEnum.adVarWChar, 210);
    
    cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + dbPath + ";" + "Jet OLEDB:Engine Type=5");
    cat.Tables.Append(table);
    
    using (OleDbConnection oldbcon = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;" + "Data Source=" + dbPath + ";" + "OLE DB Services=-4"))
    {
        oldbcon.Open();
    
        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                OleDbCommand oldbcmd = new OleDbCommand();
                oldbcmd.Connection = oldbcon;
                oldbcmd.CommandText = @"INSERT INTO StickerData([Centercode],[Centername]) 
                                VALUES (?,?)";
                oldbcmd.CommandType = CommandType.Text;
    
                oldbcmd.Parameters.AddWithValue("Centercode", reader["Centercode"].ToString());
                oldbcmd.Parameters.AddWithValue("Centername", reader["Centername"].ToString());
    
                oldbcmd.ExecuteNonQuery();
            }
        }
    
        oldbcon.Close();
        con.Close();
    }
                        System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat.Tables);
                        System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat.ActiveConnection);
                        System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat);
    
    0 回复  |  直到 6 年前