FMDB для чтения из базы данных для приложения iPhone

#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;