我正在开发一个iPhone项目,我们需要从sqlite数据库中获取数据。我以前做了很多次,一切都很顺利。但是现在我在获取整数字段(主键)的值时遇到了问题。
我可以获取的varchar字段:
NSString *forfatter=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt, 11)];
我想我必须使用sqlite3_column_int,但我无法找到如何正确使用数字。当我NSLog它,它总是出错,如:“107096896”而不是“35”。
以下是我尝试这样做的方法之一:
int pKey = sqlite3_column_int(selectstmt, 0);
NSLog(@"fant id: %i",pKey);
我也试过NSIntegers和NSUIntegers。任何人都可以帮我解决这个问题吗?我会很感激!
答案 0 :(得分:0)
正如唐纳德指出的那样,存储数据存在问题。它追溯到我的insert语句,我用这段代码插入int:
int newID=8;
sqlite3_bind_int(insertStmt, 1, newID);
如果我使用NSInteger,它可以解决:
NSInteger newID=8;
sqlite3_bind_int(insertStmt, 1, newID);