如何在運行時在我的應用程序中識別多個sqlite數據庫。我正在爲iphone測驗應用程序,其中我需要5-6個sqlite數據庫,每個測驗類別(主題)一個。幫助任何人在一個應用程序中使用多個sqlite數據庫xcode
回答
由於這將太長,以張貼評論,它以某種方式解決您的問題, 我會再次建議使用不同的結構爲您的應用程序,因爲有多個數據庫是不實際的這樣一個簡單的事情作爲一個測驗。
你可以在這裏Storing a multiple choice quiz in a database - deciding the schema或這裏Database Design For Developing 'Quiz' Web Application using PHP and MySQL
找到一些數據庫結構的例子假設你有不同的類別簡單的測驗,一個可能的替代將是您的類別存放在分類表。
* Category
- category_id (integer)
- category_name (string/text)
其中id對每一個都是唯一的。你可以有,例如,類別體育 id爲1和範疇史 id爲2
的問題可以存儲在另一張表,命名爲問題
* Questions
- question_id (integer)
- question_category (integer)
- question_text (string/text)
- question_correct_answer_id (integer)
你可以有問題1:什麼球隊打了John Doe?。在question_category
字段中輸入1,因爲1是體育類別的ID。在question_correct_answer_id
你將存儲正確的答案(而不是答案本身,只是ID)
最後但並非最不重要的ID,一個答案表。
* Answers
- answer_id (integer)
- question_id (integer)
- answer_text (string/text)
這裏answer_id
是答案的ID,你可以將其存儲在問題表,如果它是正確的,並且question_id
識別的問題。
然後,你可以這樣做:
`SELECT * FROM Questions WHERE 'question_category' = 1`
,並得到所有的體育問題。 而對於每一個問題,你可以做
SELECT * FROM Answers WHERE 'question_id' = 'your question's id'
要小心,我的例子是沒有必要的最佳解決方案,它只是只使用一個單一的數據庫,一個基本的例子,但有多個表,而不是多個數據庫。
我對你的建議是考慮這個選擇,如果你認爲這是值得的,請閱讀一些有關數據庫和設計更好的數據庫。
祝你好運!
這是可觀的..但我必須實施應用內購買也在我的測驗可能不會有幫助,因爲購買問答包本身就是一個數據庫 – user1700171
您不銷售數據庫,只是其內容。這就像是一個圖書館,併爲客戶提供每次購買的新書架。如果您想出售測驗包,您只需要出售可以插入已有數據庫的問題/答案。如果你需要添加一個新的包到應用程序會怎麼樣?你需要更新應用程序並添加一個新的數據庫,對吧?通過使用單個數據庫,您可以添加任意數量的包。查詢數據可以從您的站點獲取,例如xml文件,然後插入到已經存在的數據庫中。 – BBog
最後,這是你的呼叫,但使用多個分貝是waaay太矯枉過正,困難和不高效。你應該很少需要使用多個分貝(http://forums.phpfreaks.com/topic/21507-when-to-use-multiple-databases/) – BBog
使用FMDB這很容易。
Identifing數據庫很簡單,我dont't明白的問題...
FMDatabase *dbQuestions = [FMDatabase databaseWithPath:@"/tmp/tmpA.db"];
FMDatabase *dbAnswers = [FMDatabase databaseWithPath:@"/tmp/tmpB.db"];
FMDatabase *dbPeople = [FMDatabase databaseWithPath:@"/tmp/tmpC.db"];
[...]
[dbQuestions open]
[dbAnswers open]
[dbPeople open]
[...]
歡呼。
- 1. 在一個應用程序中使用多個數據庫
- 2. 在一個應用程序中使用多個數據庫
- 3. 在同一應用程序中使用多個數據庫
- 4. 在一個iphone應用程序中訪問多個sqlite數據庫?
- 5. 跨多個android應用程序共享單個SQLite數據庫。
- 6. 一次使用多個SQLite數據庫
- 7. 在一個數據庫中使用兩個MVC應用程序
- 8. django一個應用程序一個模型多個數據庫
- 9. 在Spring JPA應用程序中使用多個數據庫
- 10. 如何在django應用程序中使用多個數據庫
- 11. 在grails中爲一個應用程序使用多個數據庫
- 12. 多個應用程序可以訪問SQLite數據庫嗎?
- 13. 如何使用android中的另一個應用程序的sqlite數據庫?
- 14. 一個用戶數據庫服務於多個應用程序數據庫
- 15. 可能在同一個程序中打開2個sqlite數據庫Xcode
- 16. 運行的SQLite數據庫在一個應用程序從另一個
- 17. 使用多個數據庫的單個ASP.NET MVC應用程序
- 18. 從另一個Android應用程序清潔SQLite數據庫
- 19. ASP.NET MVC多租戶應用程序使用多個數據庫
- 20. 在不同的應用程序中使用SQLite數據庫
- 21. 如何在PhoneGap應用程序中使用SQLite數據庫?
- 22. 在iPhone中使用現有的Sqlite數據庫應用程序
- 23. 在iPhone iOS 5應用程序中使用SQLite數據庫?
- 24. 填充在IPhone應用程序從SQLite數據庫的數據一個UIPickerView -
- 25. SQLite數據庫爲Android應用程序與潛在的多個用戶
- 26. Grails:一個數據庫和多個應用程序
- 27. 多個數據庫連接爲一個應用程序
- 28. Windows Phone 8多線程應用程序中的SQLite數據庫
- 29. 在兩個android應用程序之間共享sqlite數據庫
- 30. 在php和codeigniter中使用單個應用程序的多個數據庫
我真的不認爲你需要爲每個類別使用不同的數據庫。這聽起來像是一個非常糟糕的數據庫設計。在你的項目的這個階段,重構數據庫結構是一個選擇嗎?你可以做更好的方式 – BBog
是的,我可以以任何方式改造它üadvice..please告訴我的方式 – user1700171
我給你一個備用答案 – BBog