码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发针对SQL语句的封装

时间:2016-04-09 13:48:57      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

1、使用依赖关系

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

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

 

 2、 SQL语句类封装名DataBaseSqlTool

  类方法介绍:

/**

 *  删除表

 *

 *  @param tableName 数据表名称

 *

 *  @return 删除表是否成功

 */

+ (BOOL)deleteTable:(NSString *)tableName;

 

/**

 *  清除表 (清空表中的内容)

 *

 *  @param tableName 数据表名称

 *

 *  @return 清除表是否成功

 */

+ (BOOL)eraseTable:(NSString *)tableName;

 

/**

 *  判断是否存在表

 *

 *  @param tableName 数据表名称

 *

 *  @return

 */

+ (BOOL)isTableOK:(NSString *)tableName;

 

/**

 *  创建表格

 *

 *  @param tableName 数据表名称

 *  @param sqlStatement  表格属性(SQL语句)

 *

 *  @return 创建表格是否成功

 *  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);"

 */

+ (BOOL)createWithTableName:(NSString *)tableName sqlStatement:(NSString*)sqlStatement;

 

/**

 *  插入数据

 *

 *  @param tableName 数据表名称

 *  @param sqlStatement  插入的属性和值(SQL语句)

 *

 *  @return 插入数据是否成功

 *  sql语句例子:@"insert into tableName(数据表) (name,age) values (‘lisi‘,‘28‘)"

 */

+ (BOOL)insertWithTableName:(NSString *)tableName sqlStatement:(NSString*)sqlStatement;

 

/**

 *  删除数据

 *

 *  @param tableName 数据表名称

 *  @param deleteWhere  删除条件(SQL语句)

 *

 *  @return 删除数据是否成功

 *  sql语句例子:@"delete from tableName(数据表) where name=‘lisi‘";

 */

+ (BOOL)deleteWithTableName:(NSString *)tableName deleteWhere:(NSString *)deleteWhere;

 

/**

 *  更新数据

 *

 *  @param tableName    数据表名称

 *  @param setValue     更新数据(SQL语句)

 *  @param updateWhere  更新数据条件

 *

 *  @return 跟新数据是否成功

 *  sql语句例子:@"update tableName(数据表) set age=‘23‘ where name=‘lisi‘";

 */

+ (BOOL)updateWithTableName:(NSString *)tableName setValue:(NSString*)setValue updateWhere:(NSString *)updateWhere;

 

/**

 *  查找数据

 *

 *  @param tableName       数据表名称

 *  @param findTable       需要查找的属性  该值为* 表示查找表格中所有属性

 *  @param findWhere       设置查询条件

 *  @param resultClass     查询返回的类名

 *  @param findResultBlock 查询结果

 *

 *  @return 查找数据是否成功

 *  查询分精确查询和模糊查询详细见http://blog.163.com/ding_123com/blog/static/211752221201542942837616/

 *  SQLite基础知识参考资料 http://pan.baidu.com/s/1c1Choac

 *  SQLite编码知识参考资料 http://pan.baidu.com/s/1jHYVBXs

 *  sql语句例子:@"select msg from tableName(数据表) where username=‘dy1‘ order by time desc  limit 1"

 */

+ (BOOL)selectWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere resultClass:(Class)resultClass findResultBlock:(void(^)(NSMutableArray *reslut))findResultBlock;

 

/*

 * 使用说明 只适用查找单个的属性为double类型的值

 * 属性说明同上

 */

 

+ (BOOL)selectSingleDoubleWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void(^)(NSMutableArray *reslut))findResultBlock;

 

/*

 * 使用说明 只适用查找单个的属性为int类型的值

 * 属性说明同上

 */

+ (BOOL)selectSingleIntWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void (^)(NSMutableArray *))findResultBlock;

 

/*

 * 使用说明 只适用查找单个的属性为字符串的类型的值

 * 属性说明同上

 */

+ (BOOL)selectSingleCharWithTableName:(NSString *)tableName findTable:(NSString *)findTable findWhere:(NSString *)findWhere indResultBlock:(void (^)(NSMutableArray *))findResultBlock;

iOS开发针对SQL语句的封装

标签:

原文地址:http://www.cnblogs.com/dy-ios/p/5371370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!