#objective-c #ios #fmdb
#objective-c #iOS #fmdb
Вопрос:
Я использую следующий код для чтения записей из таблицы customers. По какой-то причине возвращаемый результирующий набор всегда пуст.
-(NSMutableArray *) getCustomers
{
NSMutableArray *customers = [[NSMutableArray alloc] init];
NSString *databaseName = @"Customers.db";
NSArray *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentsPath objectAtIndex:0];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName];
FMDatabase *db = [FMDatabase databaseWithPath:databasePath];
if(![db open])
{
return nil;
}
FMResultSet *results = [db executeQuery:@"SELECT * FROM customers"];
while([results next])
{
Customer *customer = [[Customer alloc] init];
customer.firstName = [results stringForColumn:@"firstname"];
customer.lastName = [results stringForColumn:@"lastname"];
[customers addObject:customer];
}
[db close];
return customers;
}
Я несколько раз проверял базу данных, и она показывает данные, но по какой-то причине FMDB не может их получить!
Ответ №1:
установите для ошибок журнала базы данных значение true, это покажет вам консоль входа в систему, где вы можете найти проблему.
FMDatabase *db = [FMDatabase databaseWithPath:databasePath];
db.logsErrors = YES;