ios FMDB数据库
来源:互联网 发布:三轮士郎 知乎 编辑:程序博客网 时间:2024/09/21 09:02
ios FMDB数据库
注意:一定要添加FMDB库
1.创建工具类
MTDealTool.h
直接调用方法就行,类似sqlite
1.创建工具类
MTDealTool.h
#import <Foundation/Foundation.h>@class MTDeal;@interface MTDealTool : NSObject/** * 返回第page页的收藏团购数据:page从1开始 */+ (NSArray *)collectDeals:(int)page;+ (int)collectDealsCount;/** * 收藏一个团购 */+ (void)addCollectDeal:(MTDeal *)deal;/** * 取消收藏一个团购 */+ (void)removeCollectDeal:(MTDeal *)deal;/** * 团购是否收藏 */+ (BOOL)isCollected:(MTDeal *)deal;@endMTDealTool.m
#import "MTDealTool.h"#import "FMDB.h"#import "MTDeal.h"@implementation MTDealToolstatic FMDatabase *_db;+ (void)initialize{ // 1.打开数据库 NSString *file = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"deal.sqlite"]; _db = [FMDatabase databaseWithPath:file]; if (![_db open]) return; // 2.创表 [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_collect_deal(id integer PRIMARY KEY, deal blob NOT NULL, deal_id text NOT NULL);"]; [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_recent_deal(id integer PRIMARY KEY, deal blob NOT NULL, deal_id text NOT NULL);"];}+ (NSArray *)collectDeals:(int)page{ int size = 20; int pos = (page - 1) * size; FMResultSet *set = [_db executeQueryWithFormat:@"SELECT * FROM t_collect_deal ORDER BY id DESC LIMIT %d,%d;", pos, size]; NSMutableArray *deals = [NSMutableArray array]; while (set.next) { MTDeal *deal = [NSKeyedUnarchiver unarchiveObjectWithData:[set objectForColumnName:@"deal"]]; [deals addObject:deal]; } return deals;}+ (void)addCollectDeal:(MTDeal *)deal{ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:deal]; [_db executeUpdateWithFormat:@"INSERT INTO t_collect_deal(deal, deal_id) VALUES(%@, %@);", data, deal.deal_id];}+ (void)removeCollectDeal:(MTDeal *)deal{ [_db executeUpdateWithFormat:@"DELETE FROM t_collect_deal WHERE deal_id = %@;", deal.deal_id];}+ (BOOL)isCollected:(MTDeal *)deal{ FMResultSet *set = [_db executeQueryWithFormat:@"SELECT count(*) AS deal_count FROM t_collect_deal WHERE deal_id = %@;", deal.deal_id]; [set next];//#warning 索引从1开始 return [set intForColumn:@"deal_count"] == 1;}+ (int)collectDealsCount{ FMResultSet *set = [_db executeQueryWithFormat:@"SELECT count(*) AS deal_count FROM t_collect_deal;"]; [set next]; return [set intForColumn:@"deal_count"];}@end2.调用工具类中的方法
直接调用方法就行,类似sqlite
0 0
- 数据库事务 ios FMDB
- 数据库事务 ios FMDB
- ios FMDB数据库
- iOS数据库之FMDB
- iOS FMDB(数据库)
- iOS FMDB 数据库~详解
- iOS开发数据库-FMDB
- iOS数据库操作之FMDB
- iOS数据库操作(使用FMDB)
- IOS 操作数据库(FMDB)
- iOS数据库操作之FMDB
- IOS第三方数据库--FMDB
- iOS 数据库fmdb中使用
- ios数据库之fmdb 使用
- iOS FMDB数据库加密相关
- iOS FMDB数据库基本操作
- iOS FMDB操作sqlite数据库
- iOS数据库FMDB的使用
- tools:context的作用
- 我所理解的大学学习与创业
- java源码分析之HashSet和LinkedHashSet
- 优化eclipse启动项
- Understanding and Diagnosing ORA-00600 [12333] / ORA-3137 [12333] Errors (文档 ID 389713.1)
- ios FMDB数据库
- bug系列-------sn序列号在烧img之后被损坏
- web 前端资料
- mongodb Replica Sets副本集与读写分离
- 面试题43:二叉树的深度*
- 生成元 手打
- StrictMode介绍
- SQLite指南(5) - PRAGMA命令用法(完整)
- 程序员:如何像后端一样写前端代码?