从应用程序创建Sqlite Embedded数据库

时间:2010-08-13 02:11:47

标签: c# database sqlite

我有一个使用sqlite存储数据的winforms应用程序。我可以使用脚本在用户第一次使用应用程序时创建表格,而不是发送空白数据库吗?你能指出一个C#的例子吗?

更新:我想避免发送空白数据库。因此,如果用户仅为1个用户安装应用程序,则只有他的个人资料才能获得副本。如果安装适用于所有用户,则所有用户配置文件都将获取数据库。

1 个答案:

答案 0 :(得分:19)

是的,这是可能的:

  • 首次运行应用程序时,请检查数据库文件是否存在。
  • 如果没有,请使用Sqlite选项FailIfMissing=False打开它。这将创建一个新文件。
  • 然后,使用CREATE TABLE ...等SQL命令创建架构结构。

对于第二步,我使用看起来像这样的代码:

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;
}