DB_Que_Helper.h 5.1 KB

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