Создание базы данных Sqlite Embedded из приложения - PullRequest
8 голосов
/ 13 августа 2010

У меня есть приложение winforms, которое использует sqlite для хранения данных.Могу ли я использовать скрипты для создания таблиц, когда пользователь впервые использует приложение, а не отправлять пустую базу данных?Можете ли вы указать на пример C #?

Обновление: я хочу избежать отправки пустой базы данных.Таким образом, если пользователь устанавливает приложение только для 1 пользователя, только его профиль получает копию.Профиль всех пользователей получает базу данных, если установка предназначена для всех пользователей.

1 Ответ

19 голосов
/ 13 августа 2010

Да, это возможно:

  • При первом запуске приложения проверьте, существует ли файл базы данных.
  • Если это не так, откройте его с опцией Sqlite FailIfMissing=False. Это создаст новый файл.
  • Затем используйте команды SQL, такие как CREATE TABLE ..., для создания структуры схемы.

Для второго шага я использую код, который выглядит примерно так:

public DbConnection CreateConnectionForSchemaCreation(string fileName)
{
    var conn = new SQLiteConnection();
    conn.ConnectionString = new DbConnectionStringBuilder()
    {
        {"Data Source", fileName},
        {"Version", "3"},
        {"FailIfMissing", "False"},
    }.ConnectionString;
    conn.Open();
    return conn;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...