前端之家收集整理的这篇文章主要介绍了
SQLite 封装,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
记得要添加framework:libsqlite3.dylib 我在看的时候还有一个libsqlite3.0.dylib。应该后面的那个版本更新一点。@H_403_1@
我现在要使用sqlite3.0创建一个数据库,然后在数据库中创建一个表格。@H_403_1@
首先要引入sqlite3.0的lib库。然后包含头文件#import <sqlite3.h>@H_403_1@
【1】打开数据库,如果没有,那么创建一个@H_403_1@
sqlite3* database_;@H_403_1@
-(BOOL) open{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"mydb.sql"];
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL find = [fileManager fileExistsAtPath:path];@H_403_1@
//找到数据库文件mydb.sql
if (find) {
NSLog(@"Database file have already existed.");
if(sqlite3_open([path UTF8String],&database_) != sqlITE_OK) {
sqlite3_close(database_);
NSLog(@"Error: open database file.");
return NO;
}
return YES;
}
if(sqlite3_open([path UTF8String],&database_) == sqlITE_OK) {
bFirstCreate_ = YES;
[selfcreateChannelsTable:database_];//在后面实现函数createChannelsTable@H_403_1@
return YES;
} else {
sqlite3_close(database_);
NSLog(@"Error: open database file.");
return NO;
}
return NO;
}@H_403_1@
【2】创建表格@H_403_1@
//创建表格,假设有五个字段,(id,cid,title,imageData ,imageLen )@H_403_1@
//说明一下,id为表格的主键,必须有。@H_403_1@
//cid,和title都是字符串,imageData是二进制数据,imageLen 是该二进制数据的长度。
- (BOOL) createChannelsTable:(sqlite3*)db{
char *sql = "CREATE TABLE channels (id integer primary key,\
cid text,\
title text,\