C# 从应用程序创建Sqlite嵌入式数据库

C# 从应用程序创建Sqlite嵌入式数据库,c#,database,sqlite,C#,Database,Sqlite,我有一个winforms应用程序,它使用sqlite存储数据。我可以在用户第一次使用应用程序时使用脚本创建表,而不是发送空白数据库吗?你能举个例子吗 更新:我希望避免发送空白数据库。因此,如果一个用户仅为一个用户安装应用程序,则只有他的个人资料才能获得副本。如果安装针对所有用户,则所有用户配置文件将获取数据库。是,这是可能的: 当应用程序首次运行时,检查数据库文件是否存在 如果没有,请使用Sqlite选项打开它FailIfMissing=False。这将创建一个新文件 然后,使用SQL命令,如

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

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

是,这是可能的:

  • 当应用程序首次运行时,检查数据库文件是否存在
  • 如果没有,请使用Sqlite选项打开它
    FailIfMissing=False
    。这将创建一个新文件
  • 然后,使用SQL命令,如
    createtable…
    来创建模式结构
对于第二步,我使用如下代码:

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

您还可以创建所需的表,并随应用程序一起提供空数据库文件。参考System.Data.SQLite版本1.0.94.0,DbConnectionStringBuilder不可解析。@B.ClayShannon:System.Data.Common.DbConnectionStringBuilder