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;

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

iOS开发针对SQL语句的封装的更多相关文章

  1. 网站开发常用Sql语句

    维护网站,经常操作数据库,使用sql语句可以达到事半功倍的效果.比如,把所有密码为空的教师初始设成id一致,sql语句比手动快万倍. 下面介绍数据库开发中经常用到的一些sql语句: 一 建库操作 1. ...

  2. ios数据库常用sql语句

    SQlite常用语句 由于sql语句在程序代码中以字符串的形式存在,没有代码提示,不细心很容易出错,而且不容易被查出来.sql语句字符串是单引号. 写sql语句的时候一定要细心呀.如果写不好可以找公司 ...

  3. iOS开发——post异步网络请求封装

    IOS中有许多网络请求的函数,同步的,异步的,通过delegate异步回调的. 在做一个项目的时候,上网看了很多别人的例子,发现都没有一个简单的,方便的异步请求的封装例子.我这里要给出的封装代码,是异 ...

  4. php开发中sql语句拼接示例(插入、查询、更新)

    1.插入语句 $sql="insert into Ad(AdClassID,AdType,AdTit,AdFileName,AdUrl,AShow,Addtime) values('&quo ...

  5. php开发中sql语句拼接示例

    1.插入语句 $sql="insert into Ad(AdClassID,AdType,AdTit,AdFileName,AdUrl,AShow,Addtime) values('&quo ...

  6. ios开发瀑布流框架的封装

    一:瀑布流框架封装的实现思路:此瀑布流框架的封装仿照tableView的底层实现,1:每个cell的frame的设置都是找出每列的最大y值,比较每列的最大y值,将下一个cell放在最大y值最小的那一列 ...

  7. ios开发环境 分支语句 、 循环结构(for) 、 循环结构

    1 完成命令解析程序 1.1 问题 有命令解析程序,该程序提供三个功能选项供用户选择,用户选择某功能后,程序在界面上输出用户所选择的功能名称.程序的交互效果如图-1所示: 图-1 由上图可以看出,程序 ...

  8. Java获取Date类型-针对SQL语句

    简便使用Date类型: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedState ...

  9. MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"

    本文主要针对中小型应用或网站,重点探讨日常程序开发中SQL语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...

随机推荐

  1. python 数字类型

    数值类型:整型(int)-通常被称为是整型或整数,是正或负整数,不带数点.长整型(long integers)-无限大小的整数,整数最后是一个大写或者小写的L浮点型(floadting point r ...

  2. ObjectiveC 文件操作二

    10,文件委托,以便操作文件.头部看起来像是这样. @interface MyFileManager : NSObject @property(strong)NSFileManager *fileMa ...

  3. RedHat升级内核成功

    升级前 uname -aLinux localhost.localdomain 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x8 ...

  4. 强化:把treeview的QString路径转换为QModelIndex节点,有了节点就什么都好办了

    http://doc.qt.io/qt-4.8/qdirmodel.html#index-2 甚至还能直接调用setData: setData(const QModelIndex &index ...

  5. Java知识点复习

    总结下java的知识点 final 关键字-方法:不能被子类重写(override)-变量:不能被修改-类:不可以被继承,派生子类 finally 关键字与try/catch语句配合使用,即使有异常抛 ...

  6. UVA - 699The Falling Leaves(递归先序二叉树)

    The Falling Leaves Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Sub ...

  7. Android 开发佳站【转】

    Android控件拖动 这里演示控件拖动的动画:     原理就是响应控件的Touch事件,在Touch事件中对移动进行处理,注意,一定要在布局文件中设置控件的 android:clickable=& ...

  8. svn+ssh

    According to official document, svn+ssh is supposed to be somehow faster than apache+dav_svn, howeve ...

  9. javascript date 加一天(明天)

    end = new Date(); end = new Date(end.valueOf() + 1*24*60*60*1000);

  10. html文件引入其它html文件的几种方法:include方式

    可以在一个html的文件当中读取另一个html文件的内容吗?答案是确定的,而且方法不只一种,在以前我只会使用iframe来引用,后来发现了另外的几种方法,那今天就总结这几种方法让大家参考一下. 1.I ...