SQLite - FMDB基本使用
(2013-04-23 09:12:56)
标签:
sqlitefmdbit |
分类: Mac/IOS那些事 |
Title:SQLite (http://www.sqlite.org/docs.html)
是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入
sqlite3.h 头文件即可。但是,原生的SQLite
API在使用上相当不友好,在使用时,非常不便。于是,开源社区中就出现了一系列将SQLite API进行封装的库,而FMDB
(https://github.com/ccgus/fmdb)
则是开源社区中的优秀者。
1. 导入libssqlite3.0.dylib
2. 下载FMDB 然后把src下的文件除了fmdb.m(其实是实例文件)拷贝到supporting files目录下
3. 需要注意的是默认的存放目录是在 ~Documents/目录下 加入db不存在就创建
3. 连接 - 基本操作 - 存入文件
其实直接看fmdb.m上面的例子就可以了,例子写的很全面
#import
#import "FMDatabase.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString
*documentDirectory = [paths objectAtIndex:0];
NSString
*dbPath = [documentDirectory stringByAppendingPathComponent:
@"MyDatabase.db"];
FMDatabase
*db = [FMDatabase databaseWithPath:dbPath] ;
if (![db
open]) {
NSLog(@"can 't open database");
return -1;
}
NSString *filepath = [[NSBundle mainBundle]pathForResource:@"test"
ofType:@"png"];
//基本操作
[db executeUpdate:@"CREATE TABLE PersonList (Name text, Age
integer, Sex integer,
Phone text, Address text, Photo blob)"];
[db executeUpdate:@"INSERT INTO PersonList (Name, Age, Sex, Phone,
Address, Photo)
VALUES (?,?,?,?,?,?)",
@"Jony", [NSNumber numberWithInt:20], [NSNumber numberWithInt:0],
@"091234567",
@"Taiwan, R.O.C", [NSData
dataWithContentsOfFile: filepath]];
FMResultSet *GetColume = [db executeQuery:@"select * from
PersonList where age = ?",
[NSNumber numberWithInt:20]];
while([GetColume next])
{
NSLog(@"columeItem =%@",[GetColume stringForColumn:@"Name"]);
}
1. 导入libssqlite3.0.dylib
2. 下载FMDB 然后把src下的文件除了fmdb.m(其实是实例文件)拷贝到supporting files目录下
3. 需要注意的是默认的存放目录是在 ~Documents/目录下 加入db不存在就创建
3. 连接 - 基本操作
#import
#import "FMDatabase.h"
int main(int argc, const char * argv[])
{