将SQLite数据库直接添加到Zip文件

迈克尔·墨菲

我试图在内存中创建一个SQLite数据库,然后将其直接添加到我创建的zip文件中。到目前为止,我可以使用ZipArchiveZipFile创建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容器中,然后删除该数据库,但是当您看到正在创建然后删除的数据库时,它看起来非常糟糕。

肯定有更好的办法?

谢谢,

亚历克斯

据我所知,您只能使用SQLite Backup API将内存数据库保存到磁盘(并将其加载回内存)

在c#中,aSQLiteConnection具有BackupDatabase可用于执行此操作方法。这仍然需要在磁盘上创建一个临时数据库文件(备份)。您可以这样进行操作(假设您的内存连接名为source):

var myBackupPath = @"c:\backups\backup.db";
using (var destination = new SQLiteConnection("Data Source=" + myBackupPath))
{
    // saves from in-memory to the on-disk backup.
    source.BackupDatabase(destination, "main", "main", -1, null, -1);
}

// Now you can zip the backup & delete it.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将列表添加到sqlite数据库

来自分类Dev

数据未添加到数据库SQLITE

来自分类Dev

如何将数据从SQLite数据库添加到ArrayList(Android)

来自分类Dev

Python Flask-将POST数据添加到sqlite数据库

来自分类Dev

SQLite 项目未添加到数据库中

来自分类Dev

如何将JS对象添加到Sqlite数据库

来自分类Dev

使用SqLite将存储过程添加到内存数据库中

来自分类Dev

将新项目添加到SQLite数据库时更新listview

来自分类Dev

使用Slick和Scala将表添加到SQLite数据库

来自分类Dev

以指定的间隔将新行添加到SQLite数据库

来自分类Dev

UWP应用将图像(路径)添加到SQLite数据库

来自分类Dev

使用SqLite将存储过程添加到内存数据库中

来自分类Dev

将新项目添加到SQLite数据库时更新listview

来自分类Dev

如何将列表的内容添加到SQLite数据库?

来自分类Dev

如何将数据文件添加到PostgreSQL数据库表空间?

来自分类Dev

(codeigniter)将多行数据从文件添加到mysql数据库?

来自分类Dev

将文件添加到MSSQL数据库时如何使用相对文件路径

来自分类Dev

将文件添加到MSSQL数据库时如何使用相对文件路径

来自分类Dev

将数据添加到mysql数据库

来自分类Dev

将数据添加到数据库并使用JSON

来自分类Dev

将数据库中的数据添加到阵列

来自分类Dev

将数据添加到MySQL数据库

来自分类Dev

将数据从 MySQL 数据库添加到 RecyclerView

来自分类Dev

使用swiftyJSON和sqlite.swift将基于json的数据添加到sqlite数据库中

来自分类Dev

如何将文件内容添加到数据库?

来自分类Dev

将值从 CSV 文件添加到数据库中的字段

来自分类Dev

路径文件图片未添加到数据库

来自分类Dev

将日期添加到数据库时出错

来自分类Dev

将标签添加到数据库值

Related 相关文章

  1. 1

    将列表添加到sqlite数据库

  2. 2

    数据未添加到数据库SQLITE

  3. 3

    如何将数据从SQLite数据库添加到ArrayList(Android)

  4. 4

    Python Flask-将POST数据添加到sqlite数据库

  5. 5

    SQLite 项目未添加到数据库中

  6. 6

    如何将JS对象添加到Sqlite数据库

  7. 7

    使用SqLite将存储过程添加到内存数据库中

  8. 8

    将新项目添加到SQLite数据库时更新listview

  9. 9

    使用Slick和Scala将表添加到SQLite数据库

  10. 10

    以指定的间隔将新行添加到SQLite数据库

  11. 11

    UWP应用将图像(路径)添加到SQLite数据库

  12. 12

    使用SqLite将存储过程添加到内存数据库中

  13. 13

    将新项目添加到SQLite数据库时更新listview

  14. 14

    如何将列表的内容添加到SQLite数据库?

  15. 15

    如何将数据文件添加到PostgreSQL数据库表空间?

  16. 16

    (codeigniter)将多行数据从文件添加到mysql数据库?

  17. 17

    将文件添加到MSSQL数据库时如何使用相对文件路径

  18. 18

    将文件添加到MSSQL数据库时如何使用相对文件路径

  19. 19

    将数据添加到mysql数据库

  20. 20

    将数据添加到数据库并使用JSON

  21. 21

    将数据库中的数据添加到阵列

  22. 22

    将数据添加到MySQL数据库

  23. 23

    将数据从 MySQL 数据库添加到 RecyclerView

  24. 24

    使用swiftyJSON和sqlite.swift将基于json的数据添加到sqlite数据库中

  25. 25

    如何将文件内容添加到数据库?

  26. 26

    将值从 CSV 文件添加到数据库中的字段

  27. 27

    路径文件图片未添加到数据库

  28. 28

    将日期添加到数据库时出错

  29. 29

    将标签添加到数据库值

热门标签

归档