ios——FMDB的简单使用
来源:互联网 发布:js调用支付宝api接口 编辑:程序博客网 时间:2024/05/18 03:24
FMDB主要是用于本地存储,将信息存储在本地,适合多数据存储,其优点在此并不过多的介绍,直接进入主题,用简单的代码,使用FMDB。
一、第一步
#import <FMDB.h>@interface ViewController (){ FMDatabase *_dataBase;}
FMDB的框架可以直接通过cocoapods导入。
二、开始使用FMDB了,先创建本地的数据库
- (void)viewDidLoad { NSString *dbPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"task.sqlite"]; _dataBase = [FMDatabase databaseWithPath:dbPath]; if (_dataBase.open) { // 创建表 NSString *sql = @"CREATE TABLE IF NOT EXISTS task (task_id INTEGER PRIMARY KEY AUTOINCREMENT,taskName TEXT,contactName TEXT,taskContent TEXT,taskDate TEXT)"; BOOL success = [_dataBase executeUpdate:sql]; if (success) { NSLog(@"创建表成功"); }else { NSLog(@"创建表失败"); NSLog(@"%@",[_dataBase lastErrorMessage]); } }else { NSLog(@"创建数据库失败"); } [super viewDidLoad];}
我们要存储在本地的数据是放在数据库里面的,所以要懂一点sql语法才行,要存储的数据,在数据库中的字段、类型和数据库的名字一定要合法。如果你所需要存储的内容不多,可以直接将上面代码中sql语句改一下,用自己的字段替换就好。
三、本地数据库创建好之后,就可以操作数据了
1、添加
#pragma -mark 保存至本地-(void)saveTask { BOOL success = [_dataBase executeUpdate:@"INSERT INTO task (taskName,contactName, taskContent,taskDate) VALUES (?,?,?,?)",self.taskName.text,self.contactField.text,self.taskContent.text,[self resquestTime]]; if (success) { NSLog(@"插入成功"); }else { NSLog(@"插入失败 %@",[_dataBase lastErrorMessage]); }}
2、更新
-(void)updataTask { NSString *updateSql = [NSString stringWithFormat: @"UPDATE task SET taskName = '%@',contactName = '%@', taskContent = '%@' WHERE task_id = '%@'",self.taskName.text,self.contactField.text,self.taskContent.text,task_idSTR ]; BOOL success = [_dataBase executeUpdate:updateSql]; if (success) { NSLog(@"插入成功"); }else { NSLog(@"插入失败 %@",[_dataBase lastErrorMessage]); }}
3、删除
NSString *sql = [NSString stringWithFormat:@"DELETE FROM task WHERE task_id = %d",[task_idSTR intValue]]; BOOL success = [_dataBase executeStatements:sql]; if (success) { NSLog(@"成功"); }else { NSLog(@"失败 %@",[_dataBase lastErrorMessage]); }
4、查
-(void)loadData { NSString *sql = [NSString stringWithFormat:@"SELECT * FROM task WHERE task_id = %@",task_idSTR]; FMResultSet *resultSet = [_dataBase executeQuery:sql]; while ([resultSet next]) { NSString *str = [resultSet stringForColumn:@"taskName"]; NSString *str1 = [resultSet stringForColumn:@"taskContent"]; NSString *str2 = [resultSet stringForColumn:@"contactName"];//根据本地数据查询key对应的value值 }}
FMDB还提供了很多查询的方法:
* intForColumn:* longForColumn:* longLongIntForColumn:* boolForColumn:* doubleForColumn:* stringForColumn:* dateForColumn:* dataForColumn:* dataNoCopyForColumn:* UTF8StringForColumn:* objectForColumn:
最后关闭本地数据库:
- (void)dealloc { [_dataBase close];}
总之,FMDB用起来感觉和写sql差不多,只要掌握几个固定语法,剩下的都是sql语句了~
0 0
- ios——FMDB的简单使用
- IOS基础学习——FMDB的简单使用
- iOS FMDB的简单使用
- iOS FMDB简单使用
- iOS开发----FMDB的简单使用
- 【IOS开发】FMDB的简单使用
- IOS FMDB框架 简单粗暴的使用
- iOS FMDB的简单使用-代码举例
- IOS FMDB框架 简单粗暴的使用
- iOS简单runtime封装fmdb的使用
- iOS开发FMDB的简单使用
- FMDB的简单使用
- FMDB的简单使用
- FMDB的简单使用
- FMDB的简单使用
- fmdb 的简单使用
- FMDB的简单使用
- FMDB的简单使用
- 自定义View(一)
- 《Java源码分析》:LinkedHashMap
- oracle12c cdb和pdb参数修改
- sftp
- HTTP的通信的发送请求,接受请求响应包含哪些内容?OC中是怎样实现的?
- ios——FMDB的简单使用
- Pasha and Stick Codeforces 610A
- Mac本不用连接网线,模拟ipv6网络环境
- 【杭电oj】1028 - Ignatius and the Princess III(母函数打表)
- C++ - 基础知识
- JavaScript中的字符串使用
- 获取系统磁盘类型信息以及判断是否是U盘
- tarjan算法应用之割边和割点
- Ext mvc 下的点击表格后弹出框中有下拉列表框 下拉列表框值如何显示