UI:sqlite数据库
2024-10-20 01:44:45
使用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文件
最新文章
- 读取properties文件以及properties的用法
- android-async-http cancelRequests
- Tomcat自动部署
- android学习笔记八——SeekBar
- Ubuntu下启动Apache的Rewrite功能
- 在maven项目中使用mybatis-generator-maven-plugin生成mybatis代码
- Python学习笔记(一)Python安装及环境变量的配置
- noip 2009 细胞分裂
- 转化json
- C# 网络编程 Part.1
- svn删除用户
- 【JAVAWEB学习笔记】16_session&;cookie
- 用awk写递归
- PAT1021:Deepest Root
- 【学习总结】GirlsInAI ML-diary day-13-Try/Except 异常处理
- C#集合类型大揭秘 【转载】
- springcolud文章收藏
- Js 控制随机数概率
- Weblogic启动服务时候提示:Authentication for user weblogic denied
- java多线程快速入门(十八)
热门文章
- 【multimap的应用】D. Array Division
- Linux Awk使用案例总结
- linux rdesktop远程Win7老是提示密码错误问题解决
- 飞扬的小鸟(codevs 3729)
- 数据库备份与还原c#.net实现
- 【转载】在Javascript中 声明时用";var";与不用";var";的区别
- windows下的asp.net core开发及docker下的发布
- 转 gSOAP中使用TCP协议传输数据
- Ubuntu 16.04安装Guake Terminal终端(使用一键唤醒功能)
- Maven查看依赖树