iPhone中的Sqlite3数据库操作

可将数据库操作写入一个类,这样用起来也很方便。例如:

#import <Foundation/Foundation.h>
#import <sqlite3.h>

@interface DBOperation : NSObject {
sqlite3 *readableDB;
sqlite3 *writableDB;
NSString *dbName;
}

- (void)openDB;
- (void)closeDB;

@end



@implementation DBOperation

static sqlite3_stmt *insert_statement=nil;
static sqlite3_stmt *select_statement=nil;
static sqlite3_stmt *delete_statement=nil;


-(void) openDB {//打开DB
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath= [documentsDirectory stringByAppendingPathComponent:dbName];
if (sqlite3_open([writableDBPath UTF8String], &writableDB) != SQLITE_OK) {
sqlite3_close(writableDB);
NSAssert1(0, @"Failed to open database with message '%s'.", sqlite3_errmsg(writableDB));
}
else
{
NSLog(@"DB Opened");
}
}

- (void)closeDB {//关闭DB
if (select_statement)
sqlite3_finalize(select_statement);

if (insert_statement)
sqlite3_finalize(insert_statement);

if (delete_statement)
sqlite3_finalize(delete_statement);

if(sqlite3_close(writableDB) != SQLITE_OK)
NSAssert1(0, @"Error while closing the connection to the writableDB. %s", sqlite3_errmsg(writableDB));
}

- (void)dealloc
{
[self closeDB];
[super dealloc];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值