2011-10-24 6 views
0

私は次のコードを使用してcustomersテーブルからレコードを読み取ります。何らかの理由で返される結果セットは、常に空です。iPhoneアプリケーションのデータベースからFMDBを読み取る

-(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は、それを取得することができません!

答えて

2

db log errorsをtrueに設定すると、コンソールにログインして問題を見つけることができます。

FMDatabase *db = [FMDatabase databaseWithPath:databasePath]; 
db.logsErrors = YES; 
関連する問題