从SQLite获取整数时出现问题

时间:2010-09-08 10:12:58

标签: iphone objective-c sqlite

我正在开发一个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。任何人都可以帮我解决这个问题吗?我会很感激!

1 个答案:

答案 0 :(得分:0)

正如唐纳德指出的那样,存储数据存在问题。它追溯到我的insert语句,我用这段代码插入int:

int newID=8;
sqlite3_bind_int(insertStmt,  1, newID);

如果我使用NSInteger,它可以解决:

NSInteger newID=8;
sqlite3_bind_int(insertStmt,  1, newID);