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

时间:2018-12-18 13:33:59

标签: c# ms-access

我有一个Mdb文件数据插入到mdb中,插入后工作正常 我通过ms office打开并关闭mdb文件时,显示的Mdb文件大小为:200MB,它将文件大小减小为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 个答案:

没有答案