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语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...
随机推荐
- jquery 工作笔记,不断整理中..
$('input:radio[name="ruleType"]:checked').val() //获得radio选中的值 $("input[name='Q_lastU ...
- Linux搭建FTP
Linux FTP 服务器配置简单说明 转载:http://blog.csdn.net/tianlesoftware/article/details/6151317
- Oracle SQL CPU占用高
Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句 ...
- 解析ECC与RECC内存之间的区分
普通的定义上区分:内存,是连接CPU 和其他设备的通道,起到缓冲和数据交换作用.当CPU在工作时,需要从硬盘等外部存储器上读取数据,但由于硬盘这个“仓库”太大,加上离CPU也很“远”,运输“原料”数据 ...
- 谷歌日志库GLog 使用说明
1 引用头文件 加载库 #include <glog/include/logging.h> #pragma comment(lib,"libglog.lib") 2 初 ...
- Spring Boot MyBatis 连接数据库
最近比较忙,没来得及抽时间把MyBatis的集成发出来,其实mybatis官网在2015年11月底就已经发布了对SpringBoot集成的Release版本,Github上有代码:https://gi ...
- Swagger+Spring MVC框架学习分享
[html] view plain copy 最近参与公司接口编写,Android和IOS端都要调用这些接口,需要对接调试,如果没有一个接口文档,管理接口,别人用了接口,也不知道接口怎么用,接口上有什 ...
- 解决magento保存产品时耗时很长的问题
以前我在更新产品属性值(拿price为例)的时候,通常会这样做: foreach($product_ids as $id){ $product = Mage::getModel('catalog/pr ...
- A20 GPIO中断类型差别结果迥异的问题思考
A20GPIO中断类型差别结果迥异的问题思考 最近在使用全志A20做开发时,发现在处理中断的时候,用电平触发模式,报中断比较乱,用边沿触发则很稳定,不会乱报.笔者感到比较困惑,笔者用电平触发写的cod ...
- hdoj 2620 Bone Collector(0-1背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 思路分析:该问题为经典的0-1背包问题:假设状态dp[i][v]表示前i件物品恰放入一个容量为v ...