省钱达人

YDFMDB.h 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. //
  2. // YDFMDB.h
  3. // YUEDU
  4. //
  5. // Created by jcymac on 2017/12/6.
  6. // Copyright © 2017年 kuxuan. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @interface YDFMDB : NSObject
  10. /**
  11. //单例
  12. @return 单例对象
  13. */
  14. +(instancetype)sharedInstance;
  15. /**
  16. 执行sql语句
  17. @param sql sql语句
  18. @return 是否执行成功
  19. */
  20. -(BOOL)executeUpdateByString:(NSString *)sql;
  21. /**
  22. //创建表
  23. @param tableName 表名称
  24. 例:@"jcytable"
  25. @param fieldNamesDictionaryArray 字典数组 字典两个键值对,两个key是@"name"和@"type",值是NSString
  26. 例:@[@{@"name":@"id",@"type":"integer"},
  27. @{@"name":@"name",@"type":"text"}]
  28. @return 创建成功返回YES 失败返回NO
  29. */
  30. - (BOOL)createTableName:(NSString *)tableName fieldNamesDictionaryArray:(NSArray*)fieldNamesDictionaryArray;
  31. /**
  32. DROP TABLE
  33. @param tableName 表名称
  34. @return 删除成功返回YES 失败返回NO
  35. */
  36. -(BOOL)dropTableByTableName:(NSString *)tableName;
  37. /**
  38. //添加字段
  39. @param fieldNamesDictionaryArray 字典数组 字典两个键值对,两个key是@"name"和@"type",值是NSString
  40. 例:@[@{@"key":@"id",@"value":"integer"},
  41. @{@"key":@"name",@"value":"text"}]
  42. @param tableName 表名称
  43. 例:@"jcytable"
  44. @return 添加字段成功返回YES 失败返回NO
  45. */
  46. - (BOOL)addFieldNamesDictionaryArray:(NSArray*)fieldNamesDictionaryArray withTableName:(NSString *)tableName;
  47. /**
  48. //删除字段
  49. sqlite不支持删除字段
  50. @param fieldNamesStringArray 字符串数组 要删除的字段名称
  51. 例:@[@"id",@"name"]
  52. @param tableName 表名称
  53. 例:@"jcytable"
  54. @return 删除字段成功返回YES 失败返回NO
  55. */
  56. //- (BOOL)deleteFieldNamesStringArray:(NSArray*)fieldNamesStringArray withTableName:(NSString *)tableName;
  57. /**
  58. //增加数据 传递NSArray(key value)
  59. @param dataStringDictionary 要添加的字典 key是列名 value是数据
  60. 例:@{@"id":@"1",@"name",@"贾创业"}
  61. @param tableName 表名称
  62. 例:@"jcytable"
  63. @return 增加数据成功返回YES 失败返回NO
  64. */
  65. - (BOOL)addSingleDataStringDictionary:(NSDictionary *)dataStringDictionary withTableName:(NSString *)tableName;
  66. /**
  67. //删除数据 key value
  68. @param conditionStringDictionary (条件) 字典 key是列名 value是数据
  69. 例:@{@"id":@"1",@"name",@"贾创业"}
  70. @param tableName 表名称
  71. 例:@"jcytable"
  72. @return 删除数据成功返回YES 失败返回NO
  73. */
  74. - (BOOL)deleteDataByEqualConditionStringDictionary:(NSDictionary *)conditionStringDictionary withTableName:(NSString *)tableName;
  75. /**
  76. //删除数据
  77. @param conditionString 条件字符串
  78. 例:@" id=1 and name='贾创业' "
  79. 注意:字符串用单引号
  80. @param tableName 表名称
  81. 例:@"jcytable"
  82. @return 删除数据成功返回YES 失败返回NO
  83. */
  84. - (BOOL)deleteDataByConditionString:(NSString *)conditionString withTableName:(NSString *)tableName;
  85. /**
  86. //更改数据 key value 更改的字段字典 条件
  87. @param conditionStringDictionary (条件) 字典 key是列名 value是数据
  88. 例:@{@"id":@"1",@"name",@"贾创业"}
  89. @param newStringDictionary (新数据) 要设置的字典数组 key是列名 value是数据
  90. 例:@{@"id":@"999",@"name",@"jcy"}
  91. @param tableName 表名称
  92. 例:@"jcytable"
  93. @return 更改数据成功返回YES 失败返回NO
  94. */
  95. - (BOOL)changeDataByEqualConditionStringDictionary:(NSDictionary *)conditionStringDictionary withNewStringDictionary:(NSDictionary *)newStringDictionary withTableName:(NSString *)tableName;
  96. /**
  97. //更改数据
  98. @param conditionString 条件字符串
  99. 例:@" id=1 or name='贾创业' "
  100. @param newString 新的数据字符串
  101. 例:@" id=999,name='jcy' "
  102. 注意:字符串用单引号
  103. @param tableName 表名称
  104. 例:@"jcytable"
  105. @return 更改数据成功返回YES 失败返回NO
  106. */
  107. - (BOOL)changeDataByConditionString:(NSString *)conditionString withNewString:(NSString *)newString withTableName:(NSString *)tableName;
  108. /**
  109. //查询数据 传递NSArray(key value)
  110. @param conditionStringDictionary (条件) 字典 key是列名 value是数据
  111. 例:@{@"id":@"1",@"name",@"贾创业"}
  112. @param selectStringArray (查询) 要查询的的字符串数组
  113. 例:@[@"id",@"name"]
  114. @param tableName 表名称
  115. 例:@"jcytable"
  116. @param limit 限制
  117. 例:0
  118. @return 键值对字典数组 一个字典一行数据
  119. */
  120. - (NSArray *)selectDataByEqualConditionStringDictionary:(NSDictionary *)conditionStringDictionary withSelectStringArray:(NSArray *)selectStringArray withTableName:(NSString *)tableName limit:(NSInteger)limit descID:(BOOL)descID;
  121. /**
  122. 查询数据
  123. @param conditionString 条件字符串
  124. 例:@" id<1 and name='贾创业'"
  125. 注意:字符串用单引号
  126. @param selectStringArray (查询) 要查询的的字符串数组
  127. 例:@[@"id",@"name"]
  128. @param tableName 表名称
  129. 例:@"jcytable"
  130. @param limit 限制
  131. 例:0
  132. @return 键值对字典数组 一个字典一行数据
  133. */
  134. - (NSArray *)selectDataByConditionString:(NSString *)conditionString withSelectStringArray:(NSArray *)selectStringArray withTableName:(NSString *)tableName limit:(NSInteger)limit descID:(BOOL)descID;
  135. @end