0
所有這些在Windows(完全相同的代碼)上效果很好。與OS X無關。我知道iOS和SQLite的其他問題,但這僅僅是OS X 10.8和Xcode 4.4.1。SQLite僅適用於內存和備份
我已經有了一個SQLite數據庫,它可以在內存數據庫中正常工作,但在寫入文件時不會有效。奇怪的是,我可以把內存數據庫和備份到一個文件就好了。
別急,還有更精彩的......
我可以在文件DB創建表和它們顯示正確時,我認爲他們。但是,當我嘗試SELECT name FROM sqlite_master
時,它不返回任何內容。如果我試圖從表中插入或查詢任何東西,我得到一個表未找到錯誤。就像它甚至無法找到它所做的一樣。
例如:
std::string filename = "test.db";
sqlite3* database = nullptr;
sqlite3_open(filename.c_str(), &database);
// ...
// Create tables...works
// Query from sqlite_master...broken
做同樣的事情與:memory:
工作正常不過。
任何想法?
您的'sqlite3_open'調用看起來是正確的。然而,我無法對你的代碼進行任何說明... –
我在OSX上使用SQLite時沒有發生意外,但沒有從C++或Obj-C(我的應用程序使用不同的語言,所以我沒有嘗試過) 。我猜這個問題不是SQLite本身或OSX ... –
你聲明'數據庫',但是你把'&_database'傳遞給'sqlite3_open()'。請複製並粘貼精確的代碼,以便我們不必猜測您向我們展示的代碼與您使用的代碼有何不同。 –