2013-09-26 55 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; 
}