Хорошо, поэтому я выполняю поиск в базе данных SQLite для всех записей в строке с именем Artists ... Но я не хочу, чтобы один и тот же исполнитель появлялся дважды ...
-(NSArray *)findAllArtists
{
NSMutableArray *returnArray = [[[NSMutableArray alloc] init] autorelease];
NSString *query = @"SELECT * FROM Painting";
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil)
== SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
char *uniqueIdChars = (char *) sqlite3_column_text(statement, 0);
char *artistChars = (char *) sqlite3_column_text(statement, 1);
NSString *uniqueId = [[NSString alloc] initWithUTF8String:uniqueIdChars];
NSString *artist = [[NSString alloc] initWithUTF8String:artistChars];
PaintingInfo *info = [[PaintingInfo alloc] initWithUniqueId:uniqueId artist:artist];
[returnArray addObject:info];
[uniqueId release];
[artist release];
}
sqlite3_finalize(statement);
}
sqlite3_close(database);
return returnArray;
}
* 1003Итак, я думаю, что одним из способов может быть использование цикла внутри перед добавлением результата в returnArray, где я проверяю, соответствует ли он предыдущему результату ... Звучит довольно просто, но по какой-то причине яне получил циклы, которые я пытался работать (думаю, что я мог работать слишком долго без сна, поэтому я слепо смотрю на свои ошибки) ... Опять же, я довольно плохо знаком с SQLite, так чтоможет быть плохой способ сделать это ...
Есть предложения?