FMDB的使用

来源:互联网 发布:淘宝客户端中差评修改 编辑:程序博客网 时间:2024/05/26 14:09

FMDB 对 sqlite进行了封装,这样数据库的相关操作就变得灰常的简单。。

首先去这里下载FMDB:https://github.com/ccgus/fmdb

把FMDB的相关文件添加到工程

在工程中假如framwwork:libsqlite3.dylib

然后在.h中引入:

[cpp] view plaincopy
  1. #import "FMDatabase.h"  

首先,你要使用一个数据库文件的路径来构造一个FMDB对象:

[cpp] view plaincopy
  1. FMDatabase *db = [FMDatabase databaseWithPath:db_path];//这里要给一个完整的doc路径  
切记! 这个路径一定是完整的doc下的路径,只给一个文件名是不行的。。

如果没有这个数据库,FMDB将会自动创建。


然后我们要打开数据库,这样才能进行后续的相关操作:

[cpp] view plaincopy
  1. if ([db open] == YES) {  
  2.         NSLog(@"open success.");  
  3.     }else {  
  4.         NSLog(@"open fail.");  
  5.         return;  
  6.     }  

FMDB把对数据库的操作分为2类:1。更新操作(插入、更新、删除)2。请求操作(select)

[cpp] view plaincopy
  1. [db executeUpdate:@"INSERT INTO test_tab (name,age) VALUES (?,?)",@"rujia",@"24"];  
这个方法接收一个不定长度的参数,第一条你写sql语句就行,从第二条开始就是参数了。

这个方法返回bool值,代表成功或失败。


还有一类操作,就是查询数据库:

[cpp] view plaincopy
  1. FMResultSet *s = [db executeQuery:@"SELECT * FROM test_tab"];  

FMResultSet 是一个结果集,里面保存所有满足查询条件的记录信息。之后你遍历这里就可以得到你想要的。


使用迭代器的方式遍历结果集:

[cpp] view plaincopy
  1. while ([s next]) {  
  2.           
  3.         NSLog(@"%@",[s stringForColumn:@"name"]);  
  4.         NSLog(@"%d",[s intForColumn:@"age"]);  
  5.     }  

最后关闭数据库:

[cpp] view plaincopy
  1. [db close];//使用完 要关闭!  
0 0