Sqlite3数据库之第三方库FMDB学习心得

   很早之前就接触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"]

posted @ 2013-07-03 20:06  北风大雪  阅读(259)  评论(0编辑  收藏  举报