Member 11727674 Ответов: 1

Удаление и копирование базы данных sqlite C#


Я запрограммировал приложение c# с базой данных sqlite.Я сохранил адрес базы данных в настройках проекта в виде строки :

Источник данных=bazarganidb.db;версия=3

и я использую его в своей программе, как показано ниже:
SQLiteConnection con = new SQLiteConnection(Properties.Settings.Default.ConnectionString);

теперь, как я могу удалить эту базу данных и заменить ее другой базой данных для восстановления резервной копии базы данных?

Что я уже пробовал:

Я сделал резервную копию своей базы данных с помощью этого кода:
private void button1_Click(object sender, EventArgs e)        
{   
using (var source = new SQLiteConnection("Data 
Source=bazarganidb.db;version=3"))
using (var destination = new SQLiteConnection("Data Source=" + textBox1.Text + "/" + DateTime.Now.ToString("yyyyMMdd") + "backup.db"))
    {
        source.Open();
        destination.Open();
        source.BackupDatabase(destination, "main", "main", -1, null, 0);
    }
}

но я ничего не знаю о восстановлении

1 Ответов

Рейтинг:
12

Mehdi Gholam

Базы данных SQLite-это один файл на диске, поэтому просто скопируйте его для резервного копирования и удалите, когда он вам не нужен. SQlitexxx интерфейс.


Member 11727674

спасибо, но я не знаю, почему, когда я удаляю и копирую резервную копию в папку отладки, ничего не происходит, и это только для папки отладки, у нее нет никаких проблем с другими папками.

Mehdi Gholam

В чем же ошибка?
Убедитесь, что файл не открыт.

Member 11727674

я обновил код до этого но никакой ошибки или исключения просто ничего не происходит
пробовать
{
строка FileToReplace = System.IO.Path.Комбинат(Системы.ИО.Путь.GetDirectoryName(
Система.Отражение.Собрание.GetExecutingAssembly().Метод getname().Кодовая база), "bazarganidb.дБ");
Файл.Удалить(FileToReplace);
строка OriginalFile =@"D:\bazarganidb.db";
если(файл.Существует(FileToReplace))
Файл.Удалить(FileToReplace);
Файл.Copy(OriginalFile, FileToReplace,true);
}
поймать (исключение к)
{
Приставка.WriteLine(k);
}

Mehdi Gholam

Что такое значение для FileToReplace ?

Member 11727674

FileToReplace-это путь к файлу bazargani.db, который находится в папке отладки моего проекта, и я хочу удалить и скопировать файл @"D:\bazarganidb.db-вместо этого ...

Mehdi Gholam

Каково, по словам отладчика, это значение?

Member 11727674

отладчик говорит, что его значение равно нулю :|

Mehdi Gholam

Попробуйте : Path.GetDirectoryName(Assembly.GetEntryAssembly().Местоположение)

Member 11727674

также Верните null

Mehdi Gholam

Отладьте и посмотрите, какая часть является нулевой, вышесказанное не может быть нулевым, вы совершаете ошибку.

Member 11727674

да я ошибся я получил исключение формат URI не поддерживается