Я не знаю точной проблемы, но вот уже 4 часа чешу голову.
if (sqlite3_open([dataBasePath UTF8String], &bookDB) == SQLITE_OK) {
NSString *Query = [NSString stringWithFormat:@"SELECT * FROM linktable WHERE pageid = 2"];
if (sqlite3_prepare_v2(bookDB, [Query UTF8String], -1, &statement1, nil) == SQLITE_OK) {
markupsArray = [NSMutableArray arrayWithCapacity:1];
NSLog(@"sqlite3_step(statement1) is %d",sqlite3_step(statement1));
while (sqlite3_step(statement1) == SQLITE_ROW) {
NSLog(@"yup");
MarkupData *markUpObject = [[MarkupData alloc] init];
markUpObject.linkID = [[[NSString alloc] initWithUTF8String:(const char*) sqlite3_column_text(statement1, 0)] autorelease];
markUpObject.pageID = [[[NSString alloc] initWithUTF8String:(const char*) sqlite3_column_text(statement1, 1)] autorelease];
markUpObject.markupID = [[[NSString alloc] initWithUTF8String:(const char*) sqlite3_column_text(statement1, 2)] autorelease];
markUpObject.folioNumber = [[[NSString alloc] initWithUTF8String:(const char*) sqlite3_column_text(statement1, 5)] autorelease];
[markupsArray addObject:markUpObject];
}
}
}
Вот странная вещь.Значение sqlite3_step(statement1)
равно 100, поэтому значение SQLITE_ROW
.Но даже тогда цикл while не выполняется.Может ли кто-нибудь помочь мне разобраться в этом странном сценарии, пожалуйста ... Только что был поражен здесь ..: (