db的数据包用从github上下载的三方框架进行解析和数据提取,格式一般为数组和字典。db的查看工具是firefox上的解析db插件SQLite
三方框架为FMDB
#import "ViewController.h"
//1. 引入头文件,需要引入libsqlite3的库
#import "FMDB.h"
#import "Word.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//2. 创建一个FMDatabase对象,并指定文件路径
FMDatabase *database = [FMDatabase databaseWithPath:@"/Users/apple/Desktop/japanese.db"];
//3. 打开文件
if (![database open]) {
NSLog(@"Can not open file");
return;
}
//4. 执行查询
FMResultSet *result = [database executeQuery:@"SELECT * FROM jp"];
NSMutableArray *array = [NSMutableArray array];
//5. 获取表格中的一行
while ([result next]) {
// NSMutableDictionary *dict = [NSMutableDictionary dictionary];
Word *word = [[Word alloc] init];
//根据名字(列名)获取数据
int rid = [result intForColumn:@"id"];
NSLog(@"rid: %d", rid);
word.rid = rid;
// [dict setObject:[NSNumber numberWithInt:rid] forKey:@"id"];
//根据位置获取数据
int rid1 = [result intForColumnIndex:0];
NSLog(@"rid1: %d", rid1);
NSString *kana = [result stringForColumn:@"kana"];
NSLog(@"kana: %@", kana);
// [dict setObject:kana forKey:@"kana"];
NSString *kana1 = [result stringForColumnIndex:5];
NSLog(@"kana1: %@", kana1);
word.kana = kana1;
[array addObject:word];
}
//6. 关闭文件
[database close];
NSLog(@"-----------");
NSLog(@"%@", array);
}
这是word.h和word.m中的代码
#import <Foundation/Foundation.h>
@interface Word : NSObject
@property (nonatomic, assign) NSInteger rid;
@property (nonatomic, copy) NSString *kana;
@end
#import "Word.h"
@implementation Word
- (NSString *)description
{
return [NSString stringWithFormat:@"%@: rid: %d---kana: %@", [super description], _rid, _kana];
}
@end