如何避免每次启动程序而不是一次生成Sqlite DB

本文关键字:一次 DB Sqlite 何避免 启动 程序 | 更新日期: 2023-09-27 18:11:18

我使用此代码生成sqlite数据库。。

 private static SQLiteConnection GenData()
    {
        SQLiteConnection.CreateFile("MyDatabase.sqlite");
        SQLiteConnection m_dbConnection;
        m_dbConnection  new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
        m_dbConnection.Open();
        string createTableQuery = @"CREATE TABLE IF NOT EXISTS [MyTable] (
                      [ID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
                      [Value] VARCHAR(2048)  NULL
                      )";
        SQLiteCommand command = new SQLiteCommand(createTableQuery, m_dbConnection);
        command.ExecuteNonQuery();
        return m_dbConnection;
    }

我用它在按钮点击插入数据和创建数据库

   private void insertintoDB(string Textbox)
    {
        SQLiteConnection m_dbConnection = GenData();
        string sql = "insert into MyTable (Value) values ('" + Textbox + "')";
        SQLiteCommand commmand = new SQLiteCommand(sql, m_dbConnection);
        commmand.ExecuteNonQuery();
    }

insertintoDB(textbox1.text)并且我将CCD_ 2放入负载CCD_。。它自动生成数据库,我只需要它是一次

如何避免每次启动程序而不是一次生成Sqlite DB

在创建数据库的位置进行简单的文件检查(通常是App_Data,不过您可能希望使用适当的环境变量指定不同的位置(。

然后创建一个条件语句,仅当文件不存在时才执行"CreateFile"命令。

只需在创建文件之前添加一个if语句

private static SQLiteConnection GenData()
{
    if (!System.IO.File.Exists("MyDatabase.sqlite"))
        SQLiteConnection.CreateFile("MyDatabase.sqlite");
    .....

这将在创建文件之前检查文件是否存在。