我真的很沮喪的錯誤。我花了兩天的時間來解決這個問題。但它沒有得到解決,當時從數據庫獲取數據沒有問題。但當火災插入statement.I得到這個錯誤:在嘗試插入到iPhone上的sqlite數據庫時聲明失敗
斷言失敗 - [NewJourney addJourney],/Users/HarishYadav/Desktop/JourneyMapper/Journey/NewJourney.m:114 2011-07-05 17: 23:13.739旅程[24328:207] *終止應用程序,由於未捕獲的異常'NSInternalInconsistencyException',原因:'插入數據時出錯。 '數據庫已鎖定」在第一擲 *調用堆棧:
這裏是我的數據庫插入值碼
- (無效)addJourney { 如果(addStmt ==無) {
const char * sql = "insert into UserJourney(JourneyName,LocationName,Description) Values (?,?,?)";
if (sqlite3_prepare_v2(database, sql, -1,&addStmt ,NULL) != SQLITE_OK)
NSAssert1(0,@"Error while creating add statement. '%s'",sqlite3_errmsg(database));
}
sqlite3_bind_text(addStmt, 1, [journeyname UTF8String], -1,SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 2, [journeylocation UTF8String],-1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 3, [journeydescription UTF8String],-1 , SQLITE_TRANSIENT);
if (SQLITE_DONE != sqlite3_step(addStmt))
NSAssert1(0,@"Error while inserting data. '%s'",sqlite3_errmsg(database));
else
journeyID = sqlite3_last_insert_rowid(database);
sqlite3_reset(addStmt);
}
什麼是這個
問題3210在此先感謝
看起來數據庫是從其他地方訪問的。這就是爲什麼它說數據庫被鎖定。嘗試調試你的應用程序使用NSZombie。我更喜歡將FMDB用於sqlite目的。 –
是的我的數據庫從其他類訪問 – Ajay
Jignesh是正確的使用finalize語句,看看它是否有效。但我更喜歡FMDB for sqlite。實現簡單的調試非常容易,而且您不必爲SQLite而苦苦掙扎。 FMDB將處理所有的事情。 –