IOS Sqlite用戶界面增刪改查案例

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用於增加和修改用戶界面的顯示
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章