DB_Que_Helper.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. //
  2. // DB_Que_Helper.h
  3. // Miaxis
  4. //
  5. // Created by tong.jun on 14-7-14.
  6. // Copyright (c) 2014年 tongjun. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "TrainRecord.h"
  10. #import "Grade.h"
  11. #define dataBaseName2 @"miaxis_document.db"
  12. #define dataBasePath2 [[(NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)) firstObject]stringByAppendingPathComponent:dataBaseName2]
  13. @interface DB_Que_Helper : NSObject
  14. /**
  15. * @brief 数据库对象单例方法
  16. * @return 返回FMDateBase数据库操作对象
  17. */
  18. + (FMDatabase *)createDataBase;
  19. /**
  20. * @brief 关闭数据库
  21. */
  22. + (void)closeDataBase;
  23. #pragma mark 替换数据库操作
  24. /**删除数据库。 */
  25. +(void)removeDB;
  26. /**提取旧库数据 */
  27. +(void)getDataFormLastDB;
  28. /**将数据库拷贝到手机 */
  29. + (void)copyFileDatabase;
  30. /**插入数据 考试记录
  31. */
  32. +(void)insertGrade:(Grade*)gra;
  33. +(NSInteger)countForQuery:(NSString *)where;
  34. +(NSArray *)queryAllGrades;
  35. /**查询所有地区
  36. */
  37. +(NSArray*)queryArea;
  38. /**查询标识
  39. */
  40. +(NSArray *)queryMark:(NSString *)where;
  41. /**查询标识详情
  42. */
  43. +(NSArray *)queryDetailMark:(NSString *)where;
  44. //得到考题
  45. +(NSArray *)queryAllQuestion;
  46. //根据要求得到考题
  47. +(NSArray *)queryQuestion:(NSString *)where; //这个方法 章节和强化练习继续用
  48. //获取考题 仿真模拟
  49. +(NSArray *)queryExamQuestion:(NSString *)where;
  50. //根据要求获取章节列表以及章节序号和科目
  51. +(NSArray *)queryList:(NSString *)where;
  52. /**更改数据库数据 找到好用的
  53. */
  54. +(BOOL)updateDB:(NSString *)sql;
  55. //查询表字段、、、、
  56. //+(NSArray *)queryColumnNameWithTable:(NSString *)tableName;
  57. //同步失败做的操作
  58. +(void)getFaultIfNotNet;
  59. //收藏、排除、错题 更好的同步方法 如果可以 废弃下边的方法
  60. +(BOOL)setStateWithArray:(NSArray *)questions;
  61. //收藏、排除、错题
  62. +(BOOL)setState:(NSString*)state withId:(NSInteger)qid withType:(NSString *)type;
  63. //+(void)addToDoneQue:(NSInteger)ID; //已做题 用下边方法替代 还要写个方法 将之前表中的已做题导入进来
  64. //添加待加强题目
  65. //+(BOOL)addToStrengthenQue:(NSInteger)ID; //弃用
  66. //移除待加强题目
  67. //+(BOOL)removeToStrengthenQue:(NSInteger)ID; //弃用
  68. //清空错题、收藏、排错
  69. +(void)clearFavInfo; //可以弃用
  70. //关于 错题 收藏 排错(单条写入、删除、查询) 已做题(只写入 不移除) 所有的方法全写在这里边 sql也全在这里边写
  71. /*表的结构
  72. 一种方式:题号(text) 类型(text 1、错题 2、收藏 3、排错 4、已做未做 不相互影响) 上传(text) 优:可直接做删除操作 缺:条件关联查麻烦
  73. 另一种:题号(text) 是否错 是否藏 是否排 是否做
  74. 这里采用第一种
  75. */
  76. //设置错题等或删除 两个参数:markType为区分类型 state表示删除还是添加 1添加 0删除
  77. +(BOOL)setMarkQuestionWithQuestion:(NSInteger)qId Type:(NSString *)markType State:(NSInteger)state;
  78. //查询单条记录是否存在
  79. +(BOOL)queryIsHaveWithQuestion:(NSInteger)qId Type:(NSString *)markType;
  80. //获取1、错题 2、收藏 3、排除 4、已做未做 5、除去排除的题 已知参数(科目、身份证、车型) 待传参数type
  81. +(NSArray *)queryMarkQuestionWithType:(NSString *)markType; //联查
  82. //获取错题等_id isUpdata 0为只要没上传的(用于错题上传) 1全部 不管有没有上传(主要用于练习统计 以及首页错题数目查询) markType 1、错题 2、收藏 3、排除 4、已做未做
  83. +(NSArray *)queryMarkQuestionWithUpData:(NSInteger)isUpdata MarkType:(NSString *)markType Subject:(NSString *)sub;
  84. //查询错题 已做题 数量
  85. +(NSInteger)queryMarkQuestionWithMarkType:(NSString *)markType;
  86. //更改上传状态
  87. +(BOOL)setIsUpdateWithType:(NSString *)markType;//1、错题 2、收藏 3、排错 0为全部
  88. +(BOOL)setIsUpdateWithArray:(NSArray<NSString *> *)array;//数组中放的是上传页面的按钮tag
  89. //同步错题、收藏、排错
  90. +(BOOL)setMarkQuestionWithArray:(NSArray *)questions;
  91. //移除所有题目然后来接受同步的数据
  92. +(BOOL)deleteAllMarkQuestion;
  93. //将库里原有的已做题导入新的库中
  94. +(void)moveIsDoneToMarkQuestion;
  95. //下面两者配合使用sqlList是要执行的sql集合 同时插入进度 getProgress查询进度
  96. //读取进度
  97. +(int)getProgress;
  98. //sql语句执行
  99. +(BOOL)executeSql:(NSArray *)sqlList;
  100. + (void)updateQuestionWithId:(NSString *)idStr;
  101. @end