3

我的 iOS 应用程序中有 2 个数据库文件:

  • 一个原始数据库(只读,保存在我的应用程序的主目录中)
  • 用户的数据库(保存在用户的Documents文件夹中)

我需要运行 SQL 查询以从原始数据库复制到用户的数据库,例如:

INSERT INTO UserDatabase.MyTable
SELECT * FROM OriginalDatabase.MyTable;

这可能来自在 iOS 上运行的 SQLite 吗?问题是两个数据库位于不同的文件夹中。我想避免在代码(C#)中做这项工作,这是显而易见的方式,只是慢得多。

我的应用程序是用 C#/MonoTouch 编写的,但这可能无关紧要。

4

1 回答 1

4

使用@Peter M 的链接解决。

这是在 iOS 上执行此操作的 SQL:

    ATTACH DATABASE '../YourApp.app/YourDatabase.db' AS OriginalDatabase;

    INSERT INTO Main.MyTable
    SELECT * FROM OriginalDatabase.MyTable;

    DETACH DATABASE OriginalDatabase;

请注意 的使用Main,这是您连接到的数据库SqliteConnection,在我的情况下,它位于Documents文件夹中。

您可以针对OriginalDatabase、连接、子选择等执行任何您需要的操作。

于 2012-04-30T19:44:01.993 回答