IOS Sqlite用户界面增删改查案例

来源:互联网 发布:数据分析师官网 编辑:程序博客网 时间:2024/06/15 20:38

1.案例简介

对SQLite操作进行了简单的封装,将对数据表操作转变成对对象的操作,并通过UI界面完成对用户表的增、删、改、查,运行界面如下图所示
a

2.项目工程目录



UserModel类为用户对象模型,与数据库表中字段一一对应
BaseDB类为对sqlite简单封装,抽象出对数据库操作的三个方法,具体内容看http://blog.csdn.net/whzhaochao/article/details/38865535博文
UserDB继承于BaseDB,主要是完成UserModel对象的增、删、改、查,其内容如下
UserDB.h
[objc] view plaincopy
  1. //  
  2. //  UserDB.h  
  3. //  SqliteDemo  
  4. //  
  5. //  Created by 赵超 on 14-8-27.  
  6. //  Copyright (c) 2014年 赵超. All rights reserved.  
  7. //  
  8.   
  9. #import "BaseDB.h"  
  10. #import "UserModel.h"  
  11.   
  12. @interface UserDB : BaseDB{  
  13.       
  14. }  
  15. //单例  
  16. +(id)shareUserDB;  
  17. //创建User表  
  18. -(void)creatTableWithDataBaseName:(NSString*) dbName;  
  19. //增加一个UserModel  
  20. -(BOOL)addUser:(UserModel*)userModel dbName:(NSString*)dbName;  
  21. //修改一个UserModel  
  22. -(BOOL)updateUser:(UserModel*)userModel dbName:(NSString*)dbName;  
  23. //查询所有  
  24. -(NSArray*)findAllUser:(NSString*)dbName;  
  25. //删除一个对象  
  26. -(BOOL) deleteUser:(UserModel*)userModel dbName:(NSString*)dbName;  
  27.   
  28. @end  
UserDB.m
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //  
  2. //  UserDB.m  
  3. //  SqliteDemo  
  4. //  
  5. //  Created by 赵超 on 14-8-27.  
  6. //  Copyright (c) 2014年 赵超. All rights reserved.  
  7. //  
  8.   
  9. #import "UserDB.h"  
  10.   
  11. @implementation UserDB  
  12.   
  13. static UserDB * db;  
  14.   
  15. +(id) shareUserDB{  
  16.     if (db==nil) {  
  17.         db= [[UserDB alloc] init];  
  18.     }  
  19.     return  db;  
  20. }  
  21.   
  22. -(void)creatTableWithDataBaseName:(NSString*) dbName{  
  23.     NSString *sql=@"create table user( userName text primary key,passWord text, userEmail text)";  
  24.     [self createTable:sql dataBaseName:dbName];  
  25.       
  26. }  
  27.   
  28. -(BOOL) deleteUser:(UserModel*)userModel dbName:(NSString*)dbName{  
  29.         NSString *sql=@"delete from user where userName =?";  
  30.         NSArray *params=@[ userModel.userName];  
  31.      return  [self execSql:sql parmas:params dataBaseName:dbName];  
  32. }  
  33.   
  34.   
  35. -(BOOL)addUser:(UserModel *)userModel dbName:(NSString *)dbName{  
  36.     NSString *sql=@"insert into user (userName,passWord,userEmail) values (?,?,?)";  
  37.     NSArray *params=@[userModel.userName,userModel.passWord,userModel.userEmail];  
  38.     return  [self execSql:sql parmas:params dataBaseName:dbName];  
  39. }  
  40. -(NSArray*) findAllUser:(NSString *)dbName{  
  41.     NSString *sql=@"select userName,passWord,userEmail from user";  
  42.     NSArray *result= [self selectSql:sql parmas:nil dataBaseName:dbName];  
  43.     NSMutableArray *users=[NSMutableArray array];  
  44.     for (NSDictionary *dic in result) {  
  45.         UserModel *user=[[UserModel alloc] init];  
  46.         user.userName=[dic objectForKey:@"userName"];  
  47.         user.passWord=[dic objectForKey:@"passWord"];  
  48.         user.userEmail=[dic objectForKey:@"userEmail"];  
  49.         [users addObject:user];  
  50.     }  
  51.       
  52.     return users;  
  53.       
  54. }  
  55.   
  56. -(BOOL)updateUser:(UserModel *)userModel dbName:(NSString *)dbName{  
  57.     NSString *sql=@"update user set userName=?,passWord=?,userEmail=? where userName=?";  
  58.     NSArray *params=@[userModel.userName,userModel.passWord,userModel.userEmail,userModel.userName];  
  59.       
  60.     return [self execSql:sql parmas:params dataBaseName:dbName];  
  61.       
  62. }  
  63.   
  64.   
  65. @end  

MainViewController是用户显示所有用户列表
AddViewController用于增加和修改用户界面的显示
完整项目代码下载http://download.csdn.net/detail/whzhaochao/7829829
转载:http://blog.csdn.net/whzhaochao/article/details/38875739
0 0
原创粉丝点击