iOS开发针对SQL语句的封装
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语句的封装的更多相关文章
- 网站开发常用Sql语句
维护网站,经常操作数据库,使用sql语句可以达到事半功倍的效果.比如,把所有密码为空的教师初始设成id一致,sql语句比手动快万倍. 下面介绍数据库开发中经常用到的一些sql语句: 一 建库操作 1. ...
- ios数据库常用sql语句
SQlite常用语句 由于sql语句在程序代码中以字符串的形式存在,没有代码提示,不细心很容易出错,而且不容易被查出来.sql语句字符串是单引号. 写sql语句的时候一定要细心呀.如果写不好可以找公司 ...
- iOS开发——post异步网络请求封装
IOS中有许多网络请求的函数,同步的,异步的,通过delegate异步回调的. 在做一个项目的时候,上网看了很多别人的例子,发现都没有一个简单的,方便的异步请求的封装例子.我这里要给出的封装代码,是异 ...
- php开发中sql语句拼接示例(插入、查询、更新)
1.插入语句 $sql="insert into Ad(AdClassID,AdType,AdTit,AdFileName,AdUrl,AShow,Addtime) values('&quo ...
- php开发中sql语句拼接示例
1.插入语句 $sql="insert into Ad(AdClassID,AdType,AdTit,AdFileName,AdUrl,AShow,Addtime) values('&quo ...
- ios开发瀑布流框架的封装
一:瀑布流框架封装的实现思路:此瀑布流框架的封装仿照tableView的底层实现,1:每个cell的frame的设置都是找出每列的最大y值,比较每列的最大y值,将下一个cell放在最大y值最小的那一列 ...
- ios开发环境 分支语句 、 循环结构(for) 、 循环结构
1 完成命令解析程序 1.1 问题 有命令解析程序,该程序提供三个功能选项供用户选择,用户选择某功能后,程序在界面上输出用户所选择的功能名称.程序的交互效果如图-1所示: 图-1 由上图可以看出,程序 ...
- Java获取Date类型-针对SQL语句
简便使用Date类型: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedState ...
- MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"
本文主要针对中小型应用或网站,重点探讨日常程序开发中SQL语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...
随机推荐
- Python 标识符
Python 标识符 在python里,标识符有字母.数字.下划线组成. 在python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. python中的标识符是区分大小写的. 以 ...
- Linux 下修改Tomcat使用的JVM内存大小
我的服务器的配置: # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...
- 老生常谈--Js继承小结
一直以来,对Js的继承有所认识,但是认识不全面,没什么深刻印象.于是,经常性的浪费很多时间重新看博文学习继承,今天工作不是特别忙,有幸看到了http://www.slideshare.net/stoy ...
- localstroge与cookie的区别
HTML5本地存储是一种让网页可以把键值对存储在用户浏览器客户端的方法.像Cookie一样,这些数据不会因为你打开新网站,刷新页面,乃至关闭你的浏览器而消失. 而与Cookie不同的时,这些数据不会每 ...
- 使用ssh无密码登录
使用ssh无密码登录 ssh 是一个专为远程登录会话和其他网络服务提供安全性的协议.默认状态下ssh链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和 ...
- iOS 中 Touch ID得使用方法
iPhone 5S公布以后,iOS设备基本都有集成Touch ID.而这个功能对自己的App也是一个非常好的扩展,关于Touch ID的使用方法.大致例如以下, Swift: 引入LocalAuthe ...
- Android实现左右滑动指引效果
本文介绍Android中实现左右滑动的指引效果. 关于左右滑动效果,我在以前的一篇博文中提到过,有兴趣的朋友可以查看:http://www.cnblogs.com/hanyonglu/archive/ ...
- JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符
// Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * ...
- ASP.NET内核几大对象、ASP.NET核心知识(6)
描述 其实今天的博文,是一般处理程序的后续部分,理论上应该叫一般处理程序().但是觉得文章标题后面的系列名已经有个数字,再加一个2有点怪. 这篇博文主要介绍一下几个对象. )HttpContext ) ...
- android sdk Manager path