Mehmet Fatih

Mehmet Fatih

  • 817
  • 884
  • 30.1k

Database Close Problem

Apr 22 2023 8:27 AM

I am using an Access database.  Since my database doesn’t sometimes close I can’t backup my database. How can I force the database to close? My codes are below.

private void Button2_Click(object sender, EventArgs e)
{
    try
    {
        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source = fatih4141.accdb; Jet OLEDB:Database Password = 123456; Mode = ReadWrite");
        conn.Close();
        conn.Dispose();

        GC.Collect();
        GC.WaitForPendingFinalizers();
        OpenFileDialog dlg = new OpenFileDialog
        {
            Filter = "Microsoft Access Database(2002-2003) (*.mdb)|*.mdb|Microsoft Access Database(2007-2009) (*.accdb)|*.accdb",
            // If you want to keep default extensiion *.mdb then FilterIndex = 1 or if you want to keep default extension *.accdb then FilterIndex=2
            FilterIndex = 2,
            InitialDirectory = Environment.CurrentDirectory + @"\Backup"
        };
        if (dlg.ShowDialog() == DialogResult.OK)
        {
            MessageBox.Show("Database to be backup " + dlg.FileName);
        }
        string PathToRestoreDB = Environment.CurrentDirectory + @"\fatih4141.accdb";
        string Filetorestore = dlg.FileName;    // Rename Current Database to .Bak
        File.Move(PathToRestoreDB, PathToRestoreDB);     //Restore the Database From Backup Folder
        File.Copy(Filetorestore, PathToRestoreDB, true);
        MessageBox.Show("The database has been changed.", "The new  information has been transfered.", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
        MessageBox.Show("The process has been cancelled " + ex.Message);
        
    }
}

 


Answers (7)