使用sqllite的时候一些笔记

数据库(管理类),在工程 general 导入 动态链接库 libsqllite3.0.dylib  在.h文件里引入导入 sqllite3.h 头文件

在.h里面声明两个方法:

(1)打开数据库

(2)关闭数据库

对应文件代码:

#import <Foundation/Foundation.h>
#import <sqlite3.h> @interface DataBaseManager : NSObject
//打开数据库
+(sqlite3 *)openDataBase;
//关闭数据库
+(void)closeDataBase;
@end

DataBaseManage.h文件

在.m文件里定义一个全局变量来存储数据库对象

然后分别实现两个方法,代码如下:

#import "DataBaseManager.h"

//助手类
/*该类是数据库的管理类,提供两个功能
1.打开数据库
2.关闭数据库 导入动态的链接库 libsqllite3.0.dylib 动态链接库,然后导入 sqlite3.h 头文件
*/ //存储数据库对象
static sqlite3 * db = nil;//全局变量写这里也可,写下面也可
@implementation DataBaseManager //打开数据库
+(sqlite3 *)openDataBase{
//优化
if (db) {//如果数据库对象不为空,说明之前打开过,我们直接返回数据库的地址
return db;
}
NSString * filePath = [self getFilePath];
//打开数据仓库 (对路径进行编码转化)
//第一个参数:数据库文件夹的位置
//第二个参数:数据库对象
sqlite3_open([filePath UTF8String], &db) ;
return db;
}
//保存的路径
+(NSString *)getFilePath{
//1,找到沙盒文件位置 2,拼接文件夹路径
// NSString * str = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
// NSString * path = [str stringByAppendingPathComponent:@"DataBase.sqlite"];
// return path;
return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject] stringByAppendingPathComponent:@"DataBase.sqlite"];
} //关闭数据库
+(void)closeDataBase{
if (db) {
sqlite3_close(db);
db = nil;//设置指针为空
}
} @end

DataBaseManage.m文件

最新文章

  1. 读取properties文件以及properties的用法
  2. android-async-http cancelRequests
  3. Tomcat自动部署
  4. android学习笔记八——SeekBar
  5. Ubuntu下启动Apache的Rewrite功能
  6. 在maven项目中使用mybatis-generator-maven-plugin生成mybatis代码
  7. Python学习笔记(一)Python安装及环境变量的配置
  8. noip 2009 细胞分裂
  9. 转化json
  10. C# 网络编程 Part.1
  11. svn删除用户
  12. 【JAVAWEB学习笔记】16_session&amp;cookie
  13. 用awk写递归
  14. PAT1021:Deepest Root
  15. 【学习总结】GirlsInAI ML-diary day-13-Try/Except 异常处理
  16. C#集合类型大揭秘 【转载】
  17. springcolud文章收藏
  18. Js 控制随机数概率
  19. Weblogic启动服务时候提示:Authentication for user weblogic denied
  20. java多线程快速入门(十八)

热门文章

  1. 【multimap的应用】D. Array Division
  2. Linux Awk使用案例总结
  3. linux rdesktop远程Win7老是提示密码错误问题解决
  4. 飞扬的小鸟(codevs 3729)
  5. 数据库备份与还原c#.net实现
  6. 【转载】在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
  7. windows下的asp.net core开发及docker下的发布
  8. 转 gSOAP中使用TCP协议传输数据
  9. Ubuntu 16.04安装Guake Terminal终端(使用一键唤醒功能)
  10. Maven查看依赖树