FMDB使用小结

FMDB使用前步骤

1.在Link Binary With Libraries中导入libsqlite3.0.dylib

2.导入fmdb到项目中 (下载地址https://github.com/ccgus/fmdb)

3.引用FMDatabase.h文件

 

FMDB API使用

 1 #define CAR_TABLE @"create table if not exists t_car(id integer primary key autoincrement,car_en varchar(60), car_cn varchar(60));"
 2 @implementation CarTypeService
 3 //创建表
 4 - (void)createCarTable
 5 {
 6     FMDatabase* db = [self database];
 7     if([db open]){
 8         [db beginTransaction];
 9         [db executeUpdate:CAR_TABLE];
10         [db commit];
11     }
12     [db close];
13
14 } 15 16 17 18 -(FMDatabase *)database{ 19 NSString *dbPath = [@"test.db" appendFileNameBehindDocument]; 20 return [FMDatabase databaseWithPath:dbPath];//没用数据库,会自己创建一个.db文件 21 } 22 //插入 23 -(void *)insertCarType:(NSString *)carType{ 24 FMDatabase *db = [self database]; 25 if ([db open]) { 26 [db beginTransaction]; 27 NSString *insert = @"insert into t_car (car_en,car_cn) values (?,?);"; 28 [db executeUpdate:insert,carType,carType]; 29 rs = [db executeQuery:query,carType]; 30 [db commit]; 31 } 32 [db close]; 33 } 34 //查找 35 -(NSArray *)findAllCarTypes{ 36 NSMutableArray *arr = [NSMutableArray array]; 37 FMDatabase *db = [self database]; 38 if ([db open]) { 39 NSString *query = @"select * from t_car where 1=1"; 40 FMResultSet *rs = [db executeQuery:query]; 41 CarType *carType = nil; 42 while (rs.next) { 43 carType = [[CarType alloc] init]; 44 carType.ID = [rs intForColumn:@"id"]; 45 carType.carCn = [rs stringForColumn:@"car_cn"]; 46 [arr addObject:carType]; 47 } 48 [rs close]; 49 } 50 [db close]; 51 return arr; 52 }
53 @end

 

小细节:

创建表和插入、更新、删除数据用executeUpdate方法 ,记得要开始和关闭事务,调用FMDatabase的close方法

查找用executeQuery方法,记得要调用FMDatabase和FMResultSet的close方法

查找时间区间内的时间时用下面的sql语句:

strftime('%Y-%m-%d',create_datetime) between strftime('%Y-%m-%d',?) and strftime('%Y-%m-%d',?)

//strftime("%Y-%m-%d %H:%M:%S",?)

posted @ 2013-07-29 16:46  Vincent_Guo  阅读(360)  评论(0编辑  收藏  举报