我正在尝试在内存中创建一个SQLite数据库,然后直接将其添加到我创建的zip文件中。到目前为止,我可以使用ZipArchive和ZipFile类创建zip文件。但是,我找不到一种方法将我在内存中创建的SQLite数据库添加到zip容器中。
以下是我用来在内存中创建数据库的代码:
以下是我用来在内存中创建数据库的代码:
private static void MemoryDB()
{
SQLiteConnection conn = new SQLiteConnection("Data Source = :memory:");
conn.Open();
String sql = "CREATE TABLE highscores (name VARCHAR(25), score INT)";
SQLiteCommand command = new SQLiteCommand(sql, conn);
command.ExecuteNonQuery();
// Insert Data
sql = "INSERT INTO highscores (name, score) VALUES ('Jennie', 98)";
command = new SQLiteCommand(sql, conn);
command.ExecuteNonQuery();
sql = "INSERT INTO highscores (name, score) VALUES ('Michael', 42)";
command = new SQLiteCommand(sql, conn);
command.ExecuteNonQuery();
sql = "INSERT INTO highscores (name, score) VALUES ('Jason', 76)";
command = new SQLiteCommand(sql, conn);
command.ExecuteNonQuery();
// Select Data
sql = "SELECT * FROM highscores ORDER BY score desc";
command = new SQLiteCommand(sql, conn);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["score"]);
conn.Close();
}
我已经能够在磁盘上创建普通数据库,并使用ZipArchive.CreateEntryFromFile()方法将其添加到zip容器中,然后删除数据库,但当您可以看到正在创建和删除数据库时,这看起来非常糟糕。
一定有更好的方法吧?
谢谢!