ios sqlite3数据库的封装-自己封装的,针对锁死database is closed的解决和预防

这篇博客详细介绍了如何在 iOS 开发中封装 SQLite3 数据库,以防止数据库被锁死和出现'database is closed'错误。通过检查数据库是否存在来避免创建已存在的数据库,确保正确操作。博客内容包括创建数据库、创建表、执行增删改查操作的代码示例,以及查询数据的方法。同时,提供了关闭数据库的函数,以保持数据库的稳定运行。
摘要由CSDN通过智能技术生成

在数据库创建时应判断数据是否存在(不为空nil)

if(sqlite==nil){ // 判断数据库是否存在,若存在就不创建,若不存在才创建,以防数据库锁死

        if (SQLITE_OK == sqlite3_open(dpPath.UTF8String , &sqlite)) {

            NSLog(@"数据库创建成功");

        }else{

            NSLog(@"数据库创建失败");

        }

    }



#import "SqlManager.h"

#import "ScrollImage.h"

#import "MyTableViewCell.h"

#include "HeadPageCell.h"


@interface SqlManager ()


{

    NSMutableArray * _array;

    NSMutableArray * _arrayForHeadCell;

}


@end


@implementation SqlManager


#pragma mark - 创建数据库

+ (sqlite3 *)createSql{

    static sqlite3 * sqlite;

    // 1.获取数据库document文件地址

    NSString * appPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];

    NSLog(@"%@",appPath);

    //2.拼接新建数据库路径

    NSString * dpPath = [appPath stringByAppendingPathComponent:@"allUsers.sqlite"];

    

    if(sqlite==nil){ // 判断数据库是否存在,若存在就不创建,若不存在才创建,以防数据库锁死

        if (SQLITE_OK == sqlite3_open(dpPath.UTF8String , &sqlite)) {

            NSLog(@"数据库创建成功");

        }else{

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值