FMDB使用的理解

![]()

![]()

直接使用 FMDatabase(一个对象对应一个sqlite3*)对应第一种模式,自己持有并保证进行单线程操作

使用FMDatabasePool对应第二种模式,保证不同线程使用同一个FMDatabasePool对象而使用不同的FMDatabase对象来进行数据库操作

使用FMDatabaseQueue对应第三种模式,可以多线程访问,但是都是使用同一个FMDatabase对象,保证同时只有一个线程持有FMDatabase对象,排起队来一个一个访问操作

简略的数据库操作代码:

//打开数据库返回sqlite3*
int err = sqlite3_open([self sqlitePath], (sqlite3**)&_db );
int err = sqlite3_open_v2([self sqlitePath], (sqlite3**)&_db, flags, [vfsName UTF8String]);

///语法检查返回 sqlite3_stmt* (如果需要复用的话需要将对象重置sqlite3_reset(pStmt);)
rc = sqlite3_prepare_v2(_db, [sql UTF8String], -1, &pStmt, 0);

///通过sqlite3_stmt*绑定条件赋值的参数数据
NSString *parameterName = [[NSString alloc] initWithFormat:@":%@", dictionaryKey];
int idx = sqlite3_bind_parameter_index(pStmt, [parameterName UTF8String]);
sqlite3_bind_blob(pStmt, idx, bytes, (int)[obj length], SQLITE_STATIC);
sqlite3_bind_text(pStmt, idx, [[self stringFromDate:obj] UTF8String], -1, SQLITE_STATIC);
sqlite3_bind_double(pStmt, idx, [obj floatValue]);

///读取这条命令返回结果(对应update后续命令或next命令)
rc      = sqlite3_step(pStmt);

///通过pStmt读取想要的数据
const char *c = (const char *)sqlite3_column_text(pStmt, columnIdx);

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

本周热议
鉴影记录
SpringCloud(1) - 入门概述
python每日一练之单元测试
k8s之etcd集群部署
zookeeper 实现一个简单的服务注册与发现(C++) 三:服务发现
zookeeper 实现一个简单的服务注册与发现(C++) 二:注册
zookeeper 实现一个简单的服务注册与发现(C++) 一:与zk保持连接
Java+MySQL笔记
一些零散笔记
TCP/IP协议栈相关知识点总结
Dart学习手册
9.ubuntu文件文本编码的查看与转换,乱码问题
C++输入输出流
扩展2
69-django-forms组件源码刨析、cookie与session
67-django-前后端传数据编码格式、ajax传json格式数据、ajax传文件数据、ajax与sweetalert结合二次确认、django自带的序列化组件、批量插入、分页器
66-django-模型层之choices参数、多对多三种创建方式、数据库三大设计范式、Ajax
64-django-模型层(ORM语法)单表查询、常见十几种查询方法、双下划线查询、多表操作、外键字段增删改查、跨表查询
62-django-无名有名分组反向解析、路由分发、名称空间、伪静态、pycharm虚拟环境、django版本区别、视图层之三板斧、JsonResponse、form表单上传文件、FBV与CBV
61-django-数据增删改、orm创建表关系、django请求生命周期流程图、路由层之路由匹配、无名分组、有名分组
HaowuliaoA

微信扫码关注 HaowuliaoA 订阅号

友情链接

支付猫
链才网-区块链英才
phpEnv集成环境
广州翻译公司
Lion技术博客
花香诱人醉
LyApi框架
凉风有信
快斗博客
佩晨的博客
蛙导
layui
WebIM
layer
layDate
申请友链
QQ联系