DBEngine CompactDatabase从我在Compact的特定表中的访问中删除数据

时间:2019-05-01 05:34:03

标签: c# ms-access compact-database

我正在使用Access数据库保存数据,有时我想在代码中自动压缩它。

执行此操作时,此方法CompactDatabase删除其中一个表中的数据。 该表的名称为Language 我不知道为什么。

这是数据库契约的代码

public class Globals{
      public static string localDbPath = @"C:\Pulser\LocalPulserDB.mdb";
      public static string localDbPathTemp = @"C:\Pulser\LocalPulserDBTemp.mdb";
}

DBEngine de = new DBEngine();
System.IO.File.Move(Globals.localDbPath, Globals.localDbPathTemp);
string dbNameTemp = Globals.localDbPathTemp;
string dbName = Globals.localDbPath;
de.CompactDatabase(dbNameTemp, dbName, null, null, null);
File.Delete(Globals.localDbPath);

语言表如下所示:

enter image description here

当我尝试将其手动压缩时,其工作正常 另外,当我尝试在另一台计算机上运行此代码时,它的工作正常(不删除数据)。

如果我想念任何重要信息告诉我,请告诉我

0 个答案:

没有答案