iOS 存储之FMDB
2016-12-08 18:17
148 查看
1.在Github上下载FMDB,导入fmdb,删除里面的plist文件
2.导入库libsqlite3.tbd
3.包含头文件#import “FMDB.h”
写一个数据库工具类,包含数据的增删改查
另写一个模型类,存放要存入数据库的数据模型
4.下面贴出我的数据库工具类
2.导入库libsqlite3.tbd
3.包含头文件#import “FMDB.h”
写一个数据库工具类,包含数据的增删改查
另写一个模型类,存放要存入数据库的数据模型
4.下面贴出我的数据库工具类
#import "DBManager.h" #import "FMDB.h" @implementation DBManager{ FMDatabase *db; NSString *path; } + (DBManager *)shareManager{ static DBManager *dB = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ if (dB == nil) { dB = [[DBManager alloc] init]; } }); return dB; } - (id)init{ self = [super init]; if (self) { NSString *dbPath = [NSHomeDirectory() stringByAppendingString:@"/Documents/appa.db"]; NSLog(@"打印数据库路径:%@",dbPath); path = dbPath; NSFileManager *fileManager = [NSFileManager defaultManager]; if (![fileManager fileExistsAtPath:path]){ db = [[FMDatabase alloc] initWithPath:path]; if ([db open]) { NSLog(@"打开数据库成功"); NSString *sql = @"CREATE TABLE IF NOT EXISTS t_student (sid text unique NOT NULL, name text NOT NULL, age text NOT NULL)"; BOOL isSuccess = [db executeUpdate:sql]; if (isSuccess) { NSLog(@"创建表成功"); }else{ NSLog(@"创建表失败"); } [db close]; }else{ NSLog(@"请打开数据库"); } } } return self; } #pragma mark - 数据库操作 //查询 - (BOOL)isExistsDataWithModel:(Student *)model{ db = [FMDatabase databaseWithPath:path]; NSMutableArray *array = [NSMutableArray array]; if ([db open]){ NSString *sql = @"select sid from t_student where sid = ?"; FMResultSet *set = [db executeQuery:sql,model.sid]; while ([set next]) { [array addObject:model.sid]; } [db close]; } return array.count>0?YES:NO; } //插入 - (void)insertDataWithModel:(Student *)model{ db = [FMDatabase databaseWithPath:path]; if ([db open]){ NSString *sql = @"insert into t_student (sid,name,age) values (?,?,?)"; BOOL isSuccess = [db executeUpdate:sql,model.sid,model.name,model.age,nil]; if (isSuccess) { NSLog(@"插入成功"); }else{ NSLog(@"插入失败"); } [db close]; } } //删除 - (BOOL)deleteDataWithModel:(Student *)model{ db = [FMDatabase databaseWithPath:path]; if ([db open]){ NSString *sql = @"delete from t_student where sid = ?"; BOOL isSuccess = [db executeUpdate:sql,model.sid]; if (isSuccess) { NSLog(@"删除成功"); }else{ NSLog(@"删除失败"); } [db close]; } return YES; } //修改 - (BOOL)changeDataWithModel:(Student *)model newStr:(NSString *)str{ db = [FMDatabase databaseWithPath:path]; if ([db open]){ NSString *sql = @"update t_student set name = ? where name = ?"; BOOL isSuccess = [db executeUpdate:sql,str,model.name]; if (isSuccess) { NSLog(@"修改成功"); }else{ NSLog(@"修改失败"); } [db close]; } return YES; } //返回所有数据 - (NSArray *)allData{ //装数据模型 NSMutableArray *array = [NSMutableArray array]; db = [FMDatabase databaseWithPath:path]; if ([db open]){ NSString *sql = @"select * from t_student"; FMResultSet *res = [db executeQuery:sql]; while ([res next]) { Student *model = [[Student alloc] init]; model.sid = [res stringForColumn:@"sid"]; model.name = [res stringForColumn:@"name"]; model.age = [res stringForColumn:@"age"]; [array addObject:model]; } [db close]; } return array; }
相关文章推荐
- ios数据存储方式FMDB
- 【iOS开发】数据存储之coredata、sqlite、fmdb和sqlitepersistentobject
- iOS Fmdb数据存储
- iOS开发中使用FMDB解决数据存储问题
- iOS开发中使用FMDB解决数据存储问题
- ios数据存储中关于Sqlite3使用第三方框架FMDB
- 最全iOS数据存储方法介绍:FMDB,SQLite3 ,Core Data,Plist,Preference偏好设置
- iOS开发中使用FMDB解决数据存储问题---(写的比较详细,仔细看,有很大的参考价值)
- iOS - 数据存储方式FMDB
- iOS开发-------FMDB实现本地存储简易通讯录
- IOS数据持久化存储之SQLite3第三方库FMDB的使用
- IOS开发模块总结(一)本地数据存储3 sqlite(FMDB开源代码对sqlite的封装)
- ios数据存储方式FMDB
- iOS中SQLite持久化存储第三方库FMDB
- iOS开发之数据存储之SQLite3(包括FMDB)
- ios数据存储中关于Sqlite3使用第三方框架FMDB
- ios数据存储方式FMDB
- IOS 数据存储之 FMDB 详解
- iOS-数据存储之FMDB
- iOS开发 数据存储之FMDB