3

iOS アプリに 2 つのデータベース ファイルがあります。

  • 元のデータベース (読み取り専用、アプリのホーム ディレクトリに保持)
  • ユーザーのデータベース (ユーザーのDocumentsフォルダーに保存)

元のデータベースからユーザーのデータベースにコピーするには、次のような SQL クエリを実行する必要があります。

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

これは、iOS で実行されている SQLite から可能ですか? 問題は、2 つのデータベースが異なるフォルダーにあることです。この作業をコード (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 に答える