我正在使用以下代码从客户表中读取记录。由于某种原因,返回的结果集总是空的。
-(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 无法检索它!
最佳答案
将 db log errors 设置为 true,这将显示您登录到可以找到问题的控制台。
FMDatabase *db = [FMDatabase databaseWithPath:databasePath];
db.logsErrors = YES;
关于objective-c - 从 iPhone 应用程序的数据库中读取 FMDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879841/