如何复制access数据库并使用c#保存?

如何复制access数据库并使用c#保存?,c#,ms-access,copy,save,savefiledialog,C#,Ms Access,Copy,Save,Savefiledialog,我试图通过创建一个新的数据库文件来保存access数据库文件,并将其保存到用户喜欢的任何位置,同时命名该文件 我尝试使用这段代码,但它说“文件无法访问,因为它被另一个进程使用”。有什么想法吗 private void btnSelectDatabase_Click(object sender, EventArgs e) { ofdMain.ShowDialog(); lblDatabase.Text = ofdMain.FileName; }

我试图通过创建一个新的数据库文件来保存access数据库文件,并将其保存到用户喜欢的任何位置,同时命名该文件

我尝试使用这段代码,但它说“文件无法访问,因为它被另一个进程使用”。有什么想法吗

private void btnSelectDatabase_Click(object sender, EventArgs e)
    {
        ofdMain.ShowDialog();
        lblDatabase.Text = ofdMain.FileName;
    }

    private void btnLoadDatabase_Click(object sender, EventArgs e)
    {
        try
        {
            test = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
            Data Source=" + lblDatabase.Text);
            test.Open();
            refresh();
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

    private void btnSave_Click_1(object sender, EventArgs e)
    {
        sfdMain.ShowDialog();
    }

    private void sfdMain_FileOk(object sender, CancelEventArgs e)
    {

        StreamReader read = new StreamReader(lblDatabase.Text);
        Stream s = File.Open(sfdMain.FileName, FileMode.CreateNew);
        StreamWriter writer = new StreamWriter(s);
        writer.Close();

    }

您正在使用
StreamReader
StreamWriter
复制文件?使用
File.Copy(SourceFile,TargetFile)不是更容易吗?是-文件已被此进程或其他进程打开。-你希望我们做什么?提示:告诉更多关于它的信息(你在做什么,如何,异常发生在哪里a.s.o.)@LukeWage我想这样做,但文件尚未创建。所以基本上没有目标文件。@cSharpNoobies:目标文件不一定存在。恰恰相反:如果它存在,您将得到一个错误。这里有更多的信息:@Jefferson我在c#还是新来的,我对它还不太了解,所以我希望你们能告诉我正确的方法。我试着参考书籍,但找不到解决办法。我试图复制用户打开的access数据库文件,并通过创建新文件将其保存在另一个access数据库文件中。我希望你们能理解。T.T