//使用SQL 需要先引入 sqlite3.h 头文件 7.0之前的版本和之后的版本引入的文件 后缀名不一样 7.0版本是libsqlite3.0.tbd 之前的版本都是libsqlite3.0.dylib
#import <sqlite3.h>
#import <Foundation/Foundation.h>@interface SQLiteManager : NSObject
//使用SQLite数据库步骤
//1.引入 sqlite3.0框架
//2.在数据库操作类里 引入<sqlite3.h>头文件
//注意:咱们使用的函数都在这个头文件中
//创建一个单例类 使用SQl语句
//
+ (SQLiteManager *)shareManager{
//静态区指针
static SQLiteManager *manager = nil;
if (manager == nil) {
manager = [[SQLiteManager alloc]init];
//调用创建表的方法
[manager createTable];
}
//不需要手动释放 程序运行结束 自动释放
return manager;
}
//需要在静态区定义一个指针指向数据库(让这个指针指向的对象 从程序开始到结束一直存在 程序结束后 被系统自动释放)
//手敲 sqlite 的时候 一开始不出提示 多来两次 就可以了
//创建一个空的sql指针
static sqlite3 *db = nil;
//打开数据库
- (sqlite3 *)openDB{
//判断数据库 是否存在 如果存在直接返回
//不存在 则创建 并打开
if (db != nil) {
return db;
}else{
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
//拼接数据库文件路径(拼接的数据库文件的名字)
NSString *dbPath = [documentPath stringByAppendingPathComponent:@"/Students.sqlite"];
NSLog(@"%@",dbPath);
//创建 或者 打开 数据库
//<#const void *filename#> 参数1 文件的路径(需要把OC的字符串 转化成C语言的)
// dbPath.UTF8String 把OC的 转化成 C语言的
//<#sqlite3 **ppDb#> 参数2 数据库的地址
//接收一下返回值 判断 是否打开成功
int result = sqlite3_open(dbPath.UTF8String,&db);
//可以查表得到错误
if (result == SQLITE_OK) {
NSLog(@"OK");
} else {
NSLog(@"打开失败");
NSLog(@"%d",result);
}
}
return db;
}
//关闭数据库
- (void)closeDB{
int result = sqlite3_close(db);
//判断是否关闭成功
if (result == SQLITE_OK) {