// // DB_Que_Helper.h // Miaxis // // Created by tong.jun on 14-7-14. // Copyright (c) 2014年 tongjun. All rights reserved. // #import #import "TrainRecord.h" #import "Grade.h" #define dataBaseName2 @"miaxis_document.db" #define dataBasePath2 [[(NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)) firstObject]stringByAppendingPathComponent:dataBaseName2] @interface DB_Que_Helper : NSObject /** * @brief 数据库对象单例方法 * @return 返回FMDateBase数据库操作对象 */ + (FMDatabase *)createDataBase; /** * @brief 关闭数据库 */ + (void)closeDataBase; #pragma mark 替换数据库操作 /**删除数据库。 */ +(void)removeDB; /**提取旧库数据 */ +(void)getDataFormLastDB; /**将数据库拷贝到手机 */ + (void)copyFileDatabase; /**插入数据 考试记录 */ +(void)insertGrade:(Grade*)gra; +(NSInteger)countForQuery:(NSString *)where; +(NSArray *)queryAllGrades; /**查询所有地区 */ +(NSArray*)queryArea; /**查询标识 */ +(NSArray *)queryMark:(NSString *)where; /**查询标识详情 */ +(NSArray *)queryDetailMark:(NSString *)where; //得到考题 +(NSArray *)queryAllQuestion; //根据要求得到考题 +(NSArray *)queryQuestion:(NSString *)where; //这个方法 章节和强化练习继续用 //获取考题 仿真模拟 +(NSArray *)queryExamQuestion:(NSString *)where; //根据要求获取章节列表以及章节序号和科目 +(NSArray *)queryList:(NSString *)where; /**更改数据库数据 找到好用的 */ +(BOOL)updateDB:(NSString *)sql; //查询表字段、、、、 //+(NSArray *)queryColumnNameWithTable:(NSString *)tableName; //同步失败做的操作 +(void)getFaultIfNotNet; //收藏、排除、错题 更好的同步方法 如果可以 废弃下边的方法 +(BOOL)setStateWithArray:(NSArray *)questions; //收藏、排除、错题 +(BOOL)setState:(NSString*)state withId:(NSInteger)qid withType:(NSString *)type; //+(void)addToDoneQue:(NSInteger)ID; //已做题 用下边方法替代 还要写个方法 将之前表中的已做题导入进来 //添加待加强题目 //+(BOOL)addToStrengthenQue:(NSInteger)ID; //弃用 //移除待加强题目 //+(BOOL)removeToStrengthenQue:(NSInteger)ID; //弃用 //清空错题、收藏、排错 +(void)clearFavInfo; //可以弃用 //关于 错题 收藏 排错(单条写入、删除、查询) 已做题(只写入 不移除) 所有的方法全写在这里边 sql也全在这里边写 /*表的结构 一种方式:题号(text) 类型(text 1、错题 2、收藏 3、排错 4、已做未做 不相互影响) 上传(text) 优:可直接做删除操作 缺:条件关联查麻烦 另一种:题号(text) 是否错 是否藏 是否排 是否做 这里采用第一种 */ //设置错题等或删除 两个参数:markType为区分类型 state表示删除还是添加 1添加 0删除 +(BOOL)setMarkQuestionWithQuestion:(NSInteger)qId Type:(NSString *)markType State:(NSInteger)state; //查询单条记录是否存在 +(BOOL)queryIsHaveWithQuestion:(NSInteger)qId Type:(NSString *)markType; //获取1、错题 2、收藏 3、排除 4、已做未做 5、除去排除的题 已知参数(科目、身份证、车型) 待传参数type +(NSArray *)queryMarkQuestionWithType:(NSString *)markType; //联查 //获取错题等_id isUpdata 0为只要没上传的(用于错题上传) 1全部 不管有没有上传(主要用于练习统计 以及首页错题数目查询) markType 1、错题 2、收藏 3、排除 4、已做未做 +(NSArray *)queryMarkQuestionWithUpData:(NSInteger)isUpdata MarkType:(NSString *)markType Subject:(NSString *)sub; //查询错题 已做题 数量 +(NSInteger)queryMarkQuestionWithMarkType:(NSString *)markType; //更改上传状态 +(BOOL)setIsUpdateWithType:(NSString *)markType;//1、错题 2、收藏 3、排错 0为全部 +(BOOL)setIsUpdateWithArray:(NSArray *)array;//数组中放的是上传页面的按钮tag //同步错题、收藏、排错 +(BOOL)setMarkQuestionWithArray:(NSArray *)questions; //移除所有题目然后来接受同步的数据 +(BOOL)deleteAllMarkQuestion; //将库里原有的已做题导入新的库中 +(void)moveIsDoneToMarkQuestion; //下面两者配合使用sqlList是要执行的sql集合 同时插入进度 getProgress查询进度 //读取进度 +(int)getProgress; //sql语句执行 +(BOOL)executeSql:(NSArray *)sqlList; + (void)updateQuestionWithId:(NSString *)idStr; @end