设为首页 加入收藏

TOP

UI19数据库的练习
2015-11-21 01:41:59 来源: 作者: 【 】 浏览:0
Tags:UI19 数据库 练习

对于电影做操作,在点击收藏时, 判断其是否被收藏.
并且删除, 插入喜爱的电影.
新建一个DataBaseTool

#import 
   
     #import 
    
      #import "MovieModel.h" typedef NS_ENUM(NSUInteger, SelectInTable) { inTable, NotInTable, SelectError, }; @interface DataBaseTool : NSObject { sqlite3 *dbPoint; } + (DataBaseTool *)shareDataBaseTool; // 打开
     数据库 //- (void)openDB; //- (void)createTable; - (SelectInTable)isSaveWithMovie:(MovieModel *)movie; - (void)insertDataWithMovie:(MovieModel *)movie; - (void)deleteDataWithMovie:(MovieModel *)movie; 
    
   

内部实现:

#import "DataBaseTool.h" @implementation DataBaseTool + (DataBaseTool *)shareDataBaseTool{ static DataBaseTool *dataTool; static dispatch_once_t oneToKen; dispatch_once(&oneToKen, ^{ dataTool = [[DataBaseTool alloc] init]; [dataTool openDB]; [dataTool createTable]; }); return dataTool; } - (void)openDB{ NSArray *sandBox = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *sandBoxPath = sandBox[0]; NSString *document = [sandBoxPath stringByAppendingPathComponent:@"Favorite.sqlite"]; int result = sqlite3_open([document UTF8String], &dbPoint); if (result == SQLITE_OK) { NSLog(@"数据库打开成功!"); }else{ NSLog(@"数据库关闭成功!"); } } - (void)createTable{ NSString *sqlStr = @"create table if not exists movie (number integer primary key autoincrement, movieID text, movieName text, pic_url text)"; int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil); if (result == SQLITE_OK) { NSLog(@"电影表创建成功!"); }else{ NSLog(@"电影表创建失败!%d",result); } } - (SelectInTable)isSaveWithMovie:(MovieModel *)movie{ NSString *sqlStr =[NSString stringWithFormat:@"select * from movie where movieID = '%@'",movie.movieID]; sqlite3_stmt *stmt = nil; int result = sqlite3_prepare_v2(dbPoint, [sqlStr UTF8String], -1, &stmt, nil); if (result == SQLITE_OK) { NSLog(@"查询成功!"); if (sqlite3_step(stmt) == SQLITE_ROW) { return inTable; }else{ return NotInTable; } }else{ NSLog(@"查询失败!"); } return SelectError; } - (void)insertDataWithMovie:(MovieModel *)movie{ NSString *sqlStr = [NSString stringWithFormat:@"insert into movie (movieID, movieName, pic_url)values ('%@','%@','%@')",movie.movieID, movie.movieName, movie.pic_url]; int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil); if (result == SQLITE_OK) { NSLog(@"加入成功"); }else{ NSLog(@"加入失败!"); } } - (void)deleteDataWithMovie:(MovieModel *)movie{ NSString *sqlStr = [NSString stringWithFormat:@"delete from movie where movieID = '%@'",movie.movieID]; int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil); if (result == SQLITE_OK) { NSLog(@"删除成功!"); }else{ NSLog(@"删除失败!"); } }
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Postgresql自增语句 下一篇Mycat(5):聊天消息表数据库按..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: