iOS sqlite: цикл по строкам (sqlite3_step) с несколькими таблицами для извлечения сохраненных данных
В моем приложении для iOS я могу создать базу данных с двумя таблицами и вставить данные в соответствующие им строки / столбцы. У меня проблема при получении данных на этом while(sqlite3_step(statement) == SQLITE_OK)
петля.
Метод экземпляра для извлечения данных выглядит следующим образом:
-(NSArray)findData:(NSString*) rowID
{
int rowNumber = 0;
const char *dbpath = [databasePath UTF8String];
if(sqlite3_open(dbpath, &database) == SQLITE_OK)
{
NSString *querySQL = [NSString stringWithFormat:"@SELECT T1.ID, T1.X, T1.Y, T2.ID, T2.A, T2.B FROM T1 JOIN T2 ON T1.ID = T2.ID WHERE T1.ID = \"%@\"",rowID];
const char* query_stmt = [querySQL UTF8String];
NSMutableArray *returnArray = [[NSMutableArray alloc]init];
if(sqlite3_prepare_v2(database, query_stmt, -1, &statement, NULL)==SQLITE_OK)
{
int columnCount = sqlite3_column_count(statement)
NSLog (@"Total number of columns:%d", comumnCount);
while(sqlite3_step(statement) == SQLITE_ROW)
{
rowNumber++;
NSlog(@"Rownumber is: %d", rowNumber);
for(int a=1; a<columnCount; a++)
{
NSString *field = [[NSString alloc] initWithUTF8String:(cont char*) sqlite3_column_text(statement,a)];
[returnArray addObject:field];
}
}
sqlite3_finalize(statement);
sqlite3_close(database);
return returnArray;
}
}
return nil;
}
Здесь if
Состояние sqlite3_prepare_v2 хорошее. Работает нормально и columnCount
печатается. Тем не менее while
петля не работает. Он отлично работает при извлечении данных только из одной таблицы. Есть ли что-нибудь, чтобы быть добавленным к условию нескольких таблиц?