ios 本地数据库搭建方案
来源:互联网 发布:java 获取spring容器 编辑:程序博客网 时间:2024/06/11 21:52
1.新建一个数据库管理类DBManager用于数据库的新建、打开、关闭。
#import <Foundation/Foundation.h>#import <sqlite3.h>#define DBNAME @"projectxxxxx.sqlite"@interface DBManager : NSObject{ sqlite3 *database;}@property (nonatomic) sqlite3 *database;+(DBManager *) shareInstance;-(void)openDB;-(void)closeDB;@end
static DBManager *instance;+ (DBManager *)shareInstance { @synchronized(self) { if (instance == nil) { instance = [[self alloc] init]; } } return instance;}-(void)closeDB { sqlite3_close(database);}//获取数据库文件夹目录-(void)openDB { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; NSString *database_path = [documents stringByAppendingPathComponent:DBNAME]; if (sqlite3_open([database_path UTF8String], &database) != SQLITE_OK) { sqlite3_close(database); DebugLog(@"Sqlite Open Failed"); }else{ //创建一张表 NSString *sqlTable = @"CREATE TABLE IF NOT EXISTS USER_TABLE (id INTEGER PRIMARY KEY AUTOINCREMENT, passport VARCHAR, Id INTEGER, name VARCHAR)"; [self initCreateTable:sqlTable]; }}-(void)initCreateTable:(NSString *)sql{ char *err; if (sqlite3_exec(database, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) { sqlite3_close(database); DebugLog(@"Sqlite Operation Failed"); }}
2.对每一个表创建一个相应的类用于对该表进行增删改查的常规操作。
如:UserInfoDB 类开放一些接口对用户信息这张表进行操作。
@interface UserInfoDB : NSObject{ sqlite3 *database;}//获得实例+(UserInfoDB *) GetInstance;//插入一条用户信息-(void)insertOneUser:(nsstring *)name GroupId:(int)GroupId;//根据id,查询信息-(NSMutableArray *)selectByGroupId:(int)GroupId;//获取表情组数量-(int)getGroupCount;//查询所有用户-(NSMutableArray *)selectAllUser;//删除该表-(void)clear;
0 0
- ios 本地数据库搭建方案
- ios搭建本地服务器
- ios 本地数据库访问
- idea破解方案之搭建本地破解
- iOS 本地缓存实现 方案借鉴
- SQLite xamarin iOS 本地数据库
- IOS-OC App本地数据库
- IOS网络学习-3、搭建本地服务器
- ios本地搭建IPv6测试环境
- iOS应用架构谈 本地持久化方案
- iOS 应用架构谈 本地持久化方案
- iOS 应用架构谈 本地持久化方案
- iOS 应用架构谈 本地持久化方案
- iOS 应用架构谈 本地持久化方案
- iOS应用架构谈 本地持久化方案
- SensorTag-iOS监测数据本地txt存储方案修改
- Hive本地配置方案(内嵌Derby数据库)
- ios实战-数据库更新升级方案
- 快速查表法 FLUT
- 从汇编的角度看段错误
- NSAttributedString 学习
- 做好发散测试,提高测试效率(转)
- 经纬财富:云浮现货白银趋势研判
- ios 本地数据库搭建方案
- 解析ISO8583报文实例
- UML工具
- Android 自定义 ViewPager 打造千变万化的图片切换效果
- Google C++ style guide——命名约定
- jqGrid Pager、Navigator和自定义按钮(转)
- 日期处理总结
- Android设置背景图片平铺
- 求二叉树中节点的最大距离