ドキュメントディレクトリからsqliteデータベースを開こうとしています:
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *dbFileName = [docDir stringByAppendingPathComponent:@"DatabaseName.sqlite"];
self.db = [FMDatabase databaseWithPath:dbFileName];
self.db.logsErrors = YES;
self.db = _db;
if ([self.db open]) {
NSLog(@"database opened");
}
NSLog(@"docDir = %@",[NSString stringWithFormat:@"%@%@",docDir,dbFileName]);
NSLogは、の代わりに奇妙なパスdocDir
=を示しています。開いている間、エラーや警告はありません。/Users/userName/Documents/Users/userName/Documents/DatabaseName.sqlite
/Users/userName/Documents/DatabaseName.sqlite
この後、テーブルからcount(*)を取得しようとしました
NSString *queryString = [NSString stringWithFormat:@"SELECT count(*) FROM histories"];
FMResultSet *result = [self.db executeQuery:queryString];
NSLog(@"count = %i", [result intForColumnIndex:0]);
データベースには10k行の場合はさらに多くなりますが、NSLogには0が表示されます。アプリケーションはiOS用ではなく、コマンドラインのみです。問題はどこにありますか?