1
在sqlite3數據庫中,我有一個表「數據」,其中有兩個字段:type和path。字段類型被定義爲INTEGER。在這個字段中,我插入一個NSUInteger值(例如0或1)。問題是,當我檢索它時,我獲得了一個「奇怪」的值。我不知道我在哪裏錯了。從sqlite3數據庫檢索整數值(obj-c中的問題)
if (init_statement == nil) {
const char *sql = "SELECT type,path FROM data WHERE id=?";
if (sqlite3_prepare_v2(database, sql, -1, &init_statement, NULL) != SQLITE_OK) {
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
}
sqlite3_bind_int(init_statement, 1, primaryKey);
if (sqlite3_step(init_statement) == SQLITE_ROW) {
int type = (int)sqlite3_column_text(init_statement, 0);
char *relPath = (char *)sqlite3_column_text(init_statement, 1);
// other stuff
}
// Reset the statement for future reuse.
sqlite3_reset(init_statement);
我將其更改爲NSInteger。插入正確的值,但是當我用上面的代碼檢索它時,情況並非如此。 – Sefran 2011-05-26 15:44:47
你爲什麼不把它重新放回到'NSInteger'? – 2011-05-26 15:49:09
如果我施放它,也有同樣的問題。我會做一些其他的測試。 – Sefran 2011-05-26 16:06:21