iOS开发针对SQL语句的封装

 

 

1、使用依赖关系

 a、需要添加libsqlite3.tbd 静态库。

 b、需要添加第三方框架 FMBD、MJExtension。

 

 2、 SQL语句类封装名DataBaseSqlTool

  类方法介绍:

  1 /**
  2  *  删除表
  3  *
  4  *  @param tableName 数据表名称
  5  *
  6  *  @return 删除表是否成功
  7  */
  8 + (BOOL)deleteTable:(NSString *)tableName;
  9 
 10 /**
 11  *  清除表 (清空表中的内容)
 12  *
 13  *  @param tableName 数据表名称
 14  *
 15  *  @return 清除表是否成功
 16  */
 17 + (BOOL)eraseTable:(NSString *)tableName;
 18 
 19 /**
 20  *  判断是否存在表
 21  *
 22  *  @param tableName 数据表名称
 23  *
 24  *  @return
 25  */
 26 + (BOOL)isTableOK:(NSString *)tableName;
27 28 /** 29 * 创建表格 30 * 31 * @param tableName 数据表名称 32 * @param sqlStatement 表格属性(SQL语句) 33 * 34 * @return 创建表格是否成功 35 * sql语句例子:@"CREATE TABLE IF NOT EXISTS t_home_status (id integer PRIMARY KEY AUTOINCREMENT, access_token text NOT NULL, status_idstr text NOT NULL, status_dict blob NOT NULL);" 36 */ 37 + (BOOL)createWithTableName:(NSString *)tableName sqlStatement:(NSString*)sqlStatement; 38 39 /** 40 * 插入数据 41 * 42 * @param tableName 数据表名称 43 * @param sqlStatement 插入的属性和值(SQL语句) 44 * 45 * @return 插入数据是否成功 46 * sql语句例子:@"insert into tableName(数据表) (name,age) values ('lisi','28')" 47 */ 48 + (BOOL)insertWithTableName:(NSString *)tableName sqlStatement:(NSString*)sqlStatement; 49 50 /** 51 * 删除数据 52 * 53 * @param tableName 数据表名称 54 * @param deleteWhere 删除条件(SQL语句) 55 * 56 * @return 删除数据是否成功 57 * sql语句例子:@"delete from tableName(数据表) where name='lisi'"; 58 */ 59 + (BOOL)deleteWithTableName:(NSString *)tableName deleteWhere:(NSString *)deleteWhere; 60 61 /** 62 * 更新数据 63 * 64 * @param tableName 数据表名称 65 * @param setValue 更新数据(SQL语句) 66 * @param updateWhere 更新数据条件 67 * 68 * @return 跟新数据是否成功 69 * sql语句例子:@"update tableName(数据表) set age='23' where name='lisi'"; 70 */ 71 + (BOOL)updateWithTableName:(NSString *)tableName setValue:(NSString*)setValue updateWhere:(NSString *)updateWhere; 72 73 /** 74 * 查找数据 75 * 76 * @param tableName 数据表名称 77 * @param findTable 需要查找的属性 该值为* 表示查找表格中所有属性 78 * @param findWhere 设置查询条件 79 * @param resultClass 查询返回的类名 80 * @param findResultBlock 查询结果 81 * 82 * @return 查找数据是否成功 83 * 查询分精确查询和模糊查询详细见http://blog.163.com/ding_123com/blog/static/211752221201542942837616/ 84 * SQLite基础知识参考资料 http://pan.baidu.com/s/1c1Choac 85 * SQLite编码知识参考资料 http://pan.baidu.com/s/1jHYVBXs 86 * sql语句例子:@"select msg from tableName(数据表) where username='dy1' order by time desc limit 1" 87 */ 88 + (BOOL)selectWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere resultClass:(Class)resultClass findResultBlock:(void(^)(NSMutableArray *reslut))findResultBlock; 89 90 /* 91 * 使用说明 只适用查找单个的属性为double类型的值 92 * 属性说明同上 93 */ 94 + (BOOL)selectSingleDoubleWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void(^)(NSMutableArray *reslut))findResultBlock; 95 96 /* 97 * 使用说明 只适用查找单个的属性为int类型的值 98 * 属性说明同上 99 */ 100 + (BOOL)selectSingleIntWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void (^)(NSMutableArray *))findResultBlock; 101 102 /* 103 * 使用说明 只适用查找单个的属性为字符串的类型的值 104 * 属性说明同上 105 */ 106 + (BOOL)selectSingleCharWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void (^)(NSMutableArray *))findResultBlock;

 工程代码地址:http://pan.baidu.com/s/1eS8pFc2

posted @ 2016-04-09 12:33  ^平衡  阅读(486)  评论(0编辑  收藏  举报