2012-04-27 86 views
3

我有我的iOS應用2個數據庫文件:SQLite的iOS上 - SQL從一個文件複製到另一個

  • 的原始數據庫(只讀,保存在我的應用程序的主目錄)
  • 用戶的數據庫(保存在用戶的Documents文件夾)

我需要運行一個SQL查詢,從原始數據庫複製到用戶的,是這樣的:

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

從iOS上運行的SQLite,這可能嗎?問題是兩個數據庫位於不同的文件夾中。我想避免用代碼(C#)來完成這項工作,這是明顯的方法,只是慢得多。

我的應用程序是用C#/ MonoTouch編寫的,但這可能是不相關的。

+0

你想複製基礎上的查詢整個數據庫,表或特定的記錄? – Lefteris 2012-04-27 13:54:34

+0

特別的記錄與我上面的例子完全一樣,可能有'WHERE'子句,連接等,但我舉了一個簡單的例子。 – jonathanpeppers 2012-04-27 14:43:48

+1

複製http://stackoverflow.com/questions/2359205/copying-data-from-one-sqlite-db-to-another – 2012-04-28 15:34:24

回答

3

用@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,連接,子查詢等

相關問題