2014-12-13 54 views
0

我有這樣的C++函數:我對sqlite_open_v2的調用有什麼問題?

Database::Database(string dbName) 
{ 
    int results = sqlite3_open_v2(dbName.c_str(), &database, SQLITE_OPEN_READONLY | SQLITE_OPEN_CREATE, NULL); 

    cout << "Error code: " << results << endl; 

} 

返回錯誤代碼是21(SQLITE_MISUSE)。我究竟做錯了什麼?

回答

2

您的標誌沒有意義

SQLITE_OPEN_READONLY | SQLITE_OPEN_CREATE 

只讀如果數據庫不存在將失敗,而其它標誌會嘗試,如果它不存在創建它。你必須使用 SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE而不是

+0

謝謝,它的工作原理。 – Amani 2014-12-13 14:21:32