6

我可能没有正确执行此操作,并且浏览 MSDN 库对我没有多大帮助。我正在尝试将我的数据库从我的项目文件夹复制到另一个位置。我最初尝试了桌面,它说目录不可用。这是我目前拥有的。

private string currentDb = @"J:\Project\Project\HotelDB.accdb",
               backUpPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
               newFileName = @"\";

我用这种方法调用它。我目前得到的错误是 Environment.SpecialFolder.MyDocuments 类表明“我的文档”是一个文件夹,而不是一个文件。这告诉我我做错了。任何指导表示赞赏。

public void backupDatabase()
{
    File.Copy(currentDb, backUpPath, true);
}
4

3 回答 3

11

您应该将文件名添加到目标路径。这在文档中明确指定:http: //msdn.microsoft.com/en-us/library/c6cfw35a.aspx

目标文件的名称。这不能是目录或现有文件。

例如:

"J:\Project\Project\HotelDB.accdb"

应该去:

"c:\HotelDB.accdb"

(而不是"C:\"

于 2013-05-02T07:42:59.147 回答
3

正如 MSDN 所说

destFileName 类型:System.String 目标文件的名称。这不能是目录。

因此,将文件名添加到目标路径。

文件.复制()

于 2013-05-02T07:44:28.367 回答
2

尝试这个

 private string currentDb = @"J:\Project\Project\HotelDB.accdb",
 backUpPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\HotelDB.accdb"
于 2013-05-02T07:44:35.720 回答