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语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...
随机推荐
- poj 3252 Round Numbers 数位dp
题目链接 找一个范围内二进制中0的个数大于等于1的个数的数的数量.基础的数位dp #include<bits/stdc++.h> using namespace std; #define ...
- npm使用教程(未完)
npm docs 设置镜像站 因为npmjs的官方网站,总会下载比较慢或打不开,所以通常需要设置一下镜像站来更好的安装npm库 npm install --registry http://regist ...
- tomcat部署不正确
我把一个名为cp的web项目导入myeclipse中,由于要再次导入该工程的新版本,我就把旧版本的cp项目改名成cp3.但是在运行新项目cp的时候,tomcat出问题,一直是之前旧cp对应的tomca ...
- SVD神秘值分解
SVD分解 SVD分解是LSA的数学基础,本文是我的LSA学习笔记的一部分,之所以单独拿出来,是由于SVD能够说是LSA的基础,要理解LSA必须了解SVD,因此将LSA笔记的SVD一节单独作为一篇文章 ...
- 一步一步学c#(六):数组
数组 简单数组 如果需要使用同一个类型的多个对象,就可以使用数组.数组是一种数据结构,它可以包含同一类型的多个元素. 数组声明:int[] myArray 使用new运算符,指定数组中元素的类型和数量 ...
- Objective-c (多输入参数的方法)
一个方法可能具有多个输入参数.在头文件中,可以定义带有多个输入参数的方法: - (void)setIntX:(int)n andSetIntY:(int)d 下面通过一个例子来说明它的具体用法: #i ...
- HDU 2087 剪花布条(模式串在主串中出现的次数主串中子串不可重叠)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 题意:求模式串在主串中出现的次数,与模式串匹配的子串之间不可重叠. 思路:用kmp算法解决,在匹 ...
- 5.6.3 String类型
String类型是字符串的对象包装类型,可以像下面这样使用String构造函数来创建. var stringObject = new String("hello world"); ...
- jmeter 通过ant集成到jenkins
jmeter可以通过ant自动执行测试脚本,然后集成到jenkins上,并发送测试报告 1.下载安装ant 2.将jmeter安装包extras文件夹里ant-jemter-1.1.1.jar 复制到 ...
- thinkphp phpexcel导入
上次做了一个基于tp3.2.3的phpexcel导出,这次是phpexcel导入,准备材料phpexcel(不知道下载地址的查看我上一篇博文),虽说是基于thinkphp3.2.3来的,也只不过是引入 ...