2013-09-26 81 views
0

我在使用Xcode5的ios7編碼,編譯器給我這個錯誤。編譯sqlite3錯誤

隱式轉換失去整數精度sqlite3_int64又名long longint

下面下面的代碼:

if([self chatId] != nil) { 
    [chatId release]; 
} 
chatId = [[NSNumber alloc] initWithInt:sqlite3_last_insert_rowid(database)]; 
sqlite3_finalize(sqlStatement); 

任何幫助嗎?

+0

什麼是手段*讀取郵件*。 –

回答

4

SQLite3行ID是唯一的64位有符號整數。 試試這個:

chatId = [[NSNumber alloc] initWithLongLong:sqlite3_last_insert_rowid(database)]; 
0

看到實現方法sqlite3_last_insert_rowid的,它返回一個長長的int值,所以你需要
[NSNumber alloc] initWithLongLong: sqlite3_last_insert_rowid(database)];

SQLITE_API sqlite_int64 sqlite3_last_insert_rowid(sqlite3 *db){ 
    return db->lastRowid; 
}