我怎樣才能弄清楚,sqlite3的是給我的錯誤,當我做一個SQL調用:sqlite3的錯誤 - iOS設備
int success = sqlite3_prepare_v2(database, sql, -1, &stmt, NULL);
if(success != SQLITE_OK) {
NSLog(@"create stmt failed %@",stmt);
}
所有我知道的是,如果它失敗了,但有沒有辦法讓實際錯誤,或者失敗的原因?
我怎樣才能弄清楚,sqlite3的是給我的錯誤,當我做一個SQL調用:sqlite3的錯誤 - iOS設備
int success = sqlite3_prepare_v2(database, sql, -1, &stmt, NULL);
if(success != SQLITE_OK) {
NSLog(@"create stmt failed %@",stmt);
}
所有我知道的是,如果它失敗了,但有沒有辦法讓實際錯誤,或者失敗的原因?
當然,如果success != SQLITE_OK
,那麼它一定是這些錯誤代碼之一:
可以使用sqlite3_errmsg
功能。你需要傳入數據庫句柄。以下代碼將記錄錯誤
NSLog(@"Error %s while preparing statement", sqlite3_errmsg(_dbHandle));
感謝隊友,唯一有效的答案! – 2013-02-11 18:20:04
來澄清「dbHandle」是來自問題的「數據庫」 – 2015-02-11 19:59:00
如何獲取錯誤代碼? – CodeGuy 2011-05-29 23:23:10
「成功」變量包含錯誤代碼。 'SQLITE_OK'只是衆多錯誤代碼之一。 'sqlite3_prepare_v2()'函數返回錯誤代碼。 – rid 2011-05-29 23:24:30