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语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...
随机推荐
- JS笔记 入门第二
输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...
- 身份验证cookies和Token
后端服务器有两种基本的身份验证:1.是基于Cookie的身份验证,使用服务器端的cookie来对每次请求的用户进行身份验证.2. 较新的方法,基于令牌Token的认证,依赖于被发送到服务器上每个请求的 ...
- PROS Step:只需几分钟即可创建优化的价目表,并发现即时收益机会。
多年来,各个公司一直使用手动流程和电子表格来制定产品和服务定价,而没有真正意义上的方法或策略.在我写这篇文章时仍然如此! 但是,如今的形势已经改变.利用 PROS Step,公司可以将其数据上传到 M ...
- 预处理指令中#Pragma
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的 ...
- php知识点集合
--------------------------------------------------------- PHP知识大全 ------------------------ ...
- 10491 - Cows and Cars
描述:要么全选择牛,要么选择一辆车和p-1头牛,那么剩下n+m-p道门可以选择,求选择p道门以后要选择到车的概率 #include <cstdio> int main() { //freo ...
- centos6.5设备mysql5.6
1. 首先检查版本号number # uname -a 要么 # cat /etc/redhat-release CentOS release 6.6 (Final) 2. 下载并安装Mysql的yu ...
- 23种设计模式的C++实现
之前看Head First设计模式的时候照着书上的代码实现了一个C++版本(书上是Java版本的),代码上传在https://github.com/clpsz/Book-HFDP-Code. 当时因为 ...
- if...else if...else
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace prog ...
- HDU2546:饭卡(01背包)
HDU2546:饭卡 http://acm.hdu.edu.cn/showproblem.php?pid=2546 当我们遇到问题选择物体的价值和顺序相关时就需要,排完序后对其01处理.这题因为当我们 ...