博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqlite3数据库之第三方库FMDB学习心得
阅读量:6502 次
发布时间:2019-06-24

本文共 1135 字,大约阅读时间需要 3 分钟。

   很早之前就接触Sqlite数据库,但是之前对数据库操作未使用任何第三方库,只是实现基本的增、删、改、查功能,自己对着一本iPhone开发入门级的书籍写了一个类,基本能实现上述四个功能。最近在开发一个软件,由于是一个本地应用,经过再三思量,最好决定使用sqlite数据库存储数据。但是此次数据有点复杂,以前写的对数据库操作的类已经完全不能满足本次开发的需求,故上网找了下FMDB这个第三方库,该库把对数据库操作全部封装,使我们对于复杂的API视而不见,只需要调用接口,而且FMDB支持数据库事务处理以及支持ARC和非ARC,故好好研究了下FMDB的用法。

 FMDatabase *fmDatabase = [FMDatabase databaseWithPath:dbPath];  //dbPath 为数据库路径,如果该路径不存在该数据库,则会自动创建一个数据库

对数据库操作,首先要打开数据库    [fmDatabase open] ,这里要提醒的是,频繁打开、关闭数据库很耗时。

[fmDatabase tableExists:tableName];   //tableName 表格名 判断数据库中是否存在该表

1. 创建表  

CREATE TABLE project (projectName text,prototypeCount integer,iconData Binary,projectId integer)        //创建project表SQL 语句

[fmDatabase executeUpdate:SQL]  //SQL sql语句, 创建表格,FMDB中执行SQL语句,除了执行查询语句用executeQuery外,其它都用 executeUpdate

2. 向表格插入数据

[fmDatabase executeUpdate:@"INSERT INTO project (projectName, prototypeCount, iconData, projectId) VALUES (?,?,?,?)",project.projectName,[NSNumbernumberWithInteger:project.prototypeCount],project.iconData,[NSNumbernumberWithInteger:project.projectId]];

//注意,此处变量都为对象,起初传入int类型,直接crash

3. 查询数据

[fmDatabase executeQuery:@"SELECT * FROM project"]

转载于:https://www.cnblogs.com/keviniptv/p/FMDB.html

你可能感兴趣的文章
指针和引用的区别
查看>>
运行PHP出现No input file specified错误解决办法
查看>>
【重建】从FJOI2016一试谈起
查看>>
selenium之frame操作
查看>>
php 引入其他文件中的变量
查看>>
MYSQL体系结构-来自期刊
查看>>
mysql的基本知识
查看>>
exchange 2003配置ASSP 反垃圾邮件
查看>>
webpack入门(二)what is webpack
查看>>
UnitOfWork以及其在ABP中的应用
查看>>
学习C语言必须知道的理论知识(第一章)
查看>>
for语句内嵌例题与个人理解
查看>>
眠眠interview Question
查看>>
[转]CSS hack大全&详解
查看>>
RPC-client异步收发核心细节?
查看>>
#define WIN32_LEAN_AND_MEAN 的作用
查看>>
仿余额宝数字跳动效果 TextCounter
查看>>
(10)Spring Boot修改端口号【从零开始学Spring Boot】
查看>>
Ubuntu16.04安装qt
查看>>
顶部滑动下拉广告
查看>>