Я пытаюсь прочитать данные из таблицы.
Изначально он пуст. Если я попытался прочитать в то время, это вызовет исключение.
Мой код указан ниже
-(NSMutableArray *) selectDataFrom:(NSString *) tableName
{
NSString *qsql = [NSString stringWithFormat:@"SELECT * FROM '%@' ",tableName];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2( dataBase, [qsql UTF8String], -1, &statement, nil) == SQLITE_OK)
{
NSLog(@"INSIDE IF");
while (sqlite3_step(statement) == SQLITE_ROW)
{
NSLog(@"INSIDE WHILE");
// my code
}
}
return allData;
}
Первый NSLog («INDISE IF»); печатается.
Но второй не печатает.
Упомяните несколько книг для изучения операторов sqlite3 на iPhone [например: sqlite_prepare_v2 ();] не SQL
[Извините за мой плохой английский]
ЭТО ПОЛНЫЙ КОД
-(NSMutableArray *) selectDataFrom:(NSString *) tableName
{
allData = [[NSMutableArray alloc] init];
NSString *qsql = [NSString stringWithFormat:@"SELECT * FROM '%@' ",tableName];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2( dataBase, [qsql UTF8String], -1, &statement, nil) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
NSLog(@"REACHED 1");
myProgram = [[Programs alloc] init];
char *date = (char *) sqlite3_column_text(statement, 0);
myProgram.nss_Date = [[NSString alloc] initWithUTF8String:date];
char *type = (char *) sqlite3_column_text(statement, 3);
myProgram.nss_Type = [[NSString alloc]initWithUTF8String:type];
[nsma_allDonorsMA addObject:d_OneDonor];
}
}
else {
// NSLog(@"failed to select data");
}
return allData;
}