我已经可以将访问数据库覆盖到计算机中的另一个文件夹中。但是,当我打开已经成功覆盖的访问数据库时,我的数据库是 0 字节,它说它无法识别的格式。
我做了一个简单的应用程序和网站,但数据库在应用程序上,但是我也想从网站访问该数据库,所以我考虑复制数据库文件。但是,一旦数据库已经覆盖(没有发生错误),一旦我打开文件,就会说无法识别的格式。
我该如何解决这个问题?
这是我正在使用的代码:
private string dirA = @"D:Destination ADatabasedb1.accdb";
private string dirB = @"D:Destination BApp_Datadb1.accdb";
private void button1_Click(object sender, EventArgs e)
{
if (!File.Exists(dirB))
{
File.Copy(dirA, dirB);
}
else
{
File.WriteAllText(dirB, string.Empty);
}
}
任何帮助将不胜感激!
谢谢。
如果要始终覆盖目标数据库,则需要检查它是否存在,并在执行复制之前将其删除
private string dirA = @"D:Destination ADatabasedb1.accdb";
private string dirB = @"D:Destination BApp_Datadb1.accdb";
private void button1_Click(object sender, EventArgs e)
{
if (File.Exists(dirB))
{
File.Delete(dirB);
}
File.Copy(dirA, dirB);
}
如果目标文件存在,则实际代码将写入空字符串。File.WriteAllText 覆盖该文件,因此,它不再是有效的 Access 数据库