FMDB的使用
来源:互联网 发布:知豆新能源汽车图片 编辑:程序博客网 时间:2024/05/29 17:34
众所周知,FMDB是一个非常优秀的第三方库,它是对SQL的封装,方便我们开发。
在 FMDB 中有三个重要的类:
1.FMDatabase:是一个提供 Sqlite 数据库的类,用于执行 SQL 语句。
2.FMResultSet:用在 FMDatabase
中执行查询的结果的类
3.FMDatabaseQueue:在多线程下查询和更新数据库用到的类。
创建数据库:
FMDatabase
是通过一个 SQLite 数据库文件路径创建的,磁盘中可以不存在此文件,因为如果不存在会自动为你创建。
下面我采用单例类实例化一个对象。
单例介绍: http://blog.csdn.net/minjing_lin/article/details/50924336
沙盒路径参考: http://blog.csdn.net/minjing_lin/article/details/50353761
#import "GoodsInfoDB.h"#import "GoodsData.h"static GoodsInfoDB * sharedInstance;@implementation GoodsInfoDB+(instancetype)sharedInstance{ if (sharedInstance == nil) { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = paths.firstObject; NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"XianGuo.db"]; sharedInstance =[self databaseWithPath:dbPath]; [self createGoodsTable]; }); } if (![sharedInstance open]) { NSLog(@"Could not open db"); return nil; } return sharedInstance;}创建表:
+(BOOL)createGoodsTable{ NSString * CREATE_TABLE =@"CREATE TABLE IF NOT EXISTS Goods(id INTEGER PRIMARY KEY AUTOINCREMENT,goods_id text,goods_name text,buyCount text)"; FMDatabase * db =[self sharedInstance]; BOOL success =[db executeUpdate:CREATE_TABLE]; if (!success) { NSLog(@"error when creating db CREATE_TABLE"); } [db close]; return success;}
插入数据:
NSString * INSERT =@"insert into Goods (goods_id,goods_name,buyCount) values (?,?,?)"; BOOL res = [_db executeUpdate:INSERT, product.goods_id, product.goods_name, count];
删除数据:
1.根据id移除
NSString *DELETE = @"delete from Goods where goods_id = ?"; [_db executeUpdate:DELETE,goodId];2.删除整个表
[_db executeUpdate:@"delete from Goods"];
更新表:
SQL 语句中除了 SELECT
语句都可以称之为更新操作。包括 CREATE
,UPDATE
,INSERT
,COMMIT
,BEGIN
等。执行更新语句后会返回一个BOOL
值,返回YES
表示执行更新语句成功,返回NO
表示出现错误。
NSString * UPDATE_GOODSs =@"update Goods set buyCount = ?where goods_id = ?"; [_db executeUpdate:UPDATE_GOODSs,count2,product.goods_id];
查询表:
执行查询操作后,如果成功会返回一个 FMResultSet
对象,反之会返回 nil。
为了遍历查询结果,需要 while()
循环,然后逐条记录查看
关闭数据库:当对数据库进行查询和更新操作完成后,需要调用 -close
关闭数据库 FMDatabase
的连接。
FMDatabase *_db = [self sharedInstance]; FMResultSet *rs = [_db executeQuery:@"select * from Goods"]; NSMutableArray *array = [NSMutableArray array]; while ([rs next]) { GoodsData * goods =[[GoodsData alloc]init]; goods.goods_id = [rs stringForColumn:@"goods_id"]; goods.goods_name = [rs stringForColumn:@"goods_name"]; goods.buyCount = [rs stringForColumn:@"buyCount"]; [array addObject:goods]; } [rs close]; [_db close];
每天进步一点点
生活像程序的式样书,我所要做的就是用不同的字符去填满这一页既定的格式
0 0
- FMDB的使用
- FMDB库的使用
- FMDB的使用
- FMDB的使用
- FMDB的使用
- FMDB的使用
- FMDB库的使用
- sqlite3 FMDB的使用
- FMDB的使用
- iOS FMDB的使用
- FMDB的基本使用
- FMDB的使用
- FMDB的使用
- FMDB的使用
- FMDB的简单使用
- FMDB的使用
- FMDB的简单使用
- FMDB的使用
- android中用style简化布局文件
- Java集合框架:Arrays工具类
- android错误总结
- Tomcat迁移到weblogic的几个问题
- android中延时操作三种方式
- FMDB的使用
- Unity 项目中的音效管理器
- storm-0.8.2源码分析1之nimbus启动
- Ubuntu下怎么安装openjdk
- UNICODE,UTF-8,UTF-16
- SQL Server 插入空间数据
- 新手学习记录1:makefile学习实践
- Oracle学习笔记2 ---- 连接数据库
- 轻松学习jQuery插件EasyUI EasyUI创建树形菜单