一,SQLite创建数据库
先加入sqlite开发库libsqlite3.dylib,
新建或打开数据库,
创建数据表,
插入数据,
查询数据并打印。
二,获取沙盒的路径,并且创建或打开
NSString * paths = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
paths = [NSString stringWithFormat:@"%@/db",paths];
三,创建数据库表
我们可以使用火狐浏览器sqlite manager工具来创建数据库表。
四,SQLite语句,(增,删,改,查).
这四种方法中比较复杂的是查
NSMutableArray * results = [NSMutableArray array];
//获得数据库指针
sqlite3 *db = [DB open];
//创建数据库替身
sqlite3_stmt *stmt = nil;
//数据库查询语句
NSString * sqlStr = [NSString stringWithFormat:@"select nv_id,nv_author,nv_booname,nv_score from Novel"];
添加:
例:
+ (void)insertWithModel:(NovelModel *)model{
sqlite3 *db = [DB open];
NSString *sqlStr = [NSString stringWithFormat:@"insert into Novel nv_id,nv_author,nv_booname,nv_score)values(%d,'%@','%@','%f')",model.nid,model.author,model.bookname,model.score];
int result = sqlite3_exec(db, [sqlStr UTF8String], NULL, NULL, NULL);
if (result == SQLITE_OK) {
NSLog(@"添加成功");
}
}
改:
+ (void)updateWithModel:(NSInteger)nid name:(NSString *)name{
sqlite3 *db = [DB open];
NSString *sqlSre = [NSString stringWithFormat:@"update Novel set nv_booname = '%@' where nv_id = %d",name,nid];
删
+ (void)deleteWithMdel:(NSInteger)nid{
sqlite3 *db = [DB open];
NSString *sqlSre = [NSString stringWithFormat:@"delete from Novel where nv_id = %d",nid];
int result = sqlite3_exec(db, [sqlSre UTF8String], NULL, NULL, NULL);
if (result == SQLITE_OK) {
NSLog(@"删除成功");
}
}