1.案例簡介
對SQLite操作進行了簡單的封裝,將對數據表操作轉變成對對象的操作,並通過UI界面完成對用戶表的增、刪、改、查,運行界面如下圖所示
a
2.項目工程目錄
UserModel類爲用戶對象模型,與數據庫表中字段一一對應
UserDB繼承於BaseDB,主要是完成UserModel對象的增、刪、改、查,其內容如下
UserDB.h
-
-
-
-
-
-
-
-
-
#import "BaseDB.h"
-
#import "UserModel.h"
-
-
@interface UserDB : BaseDB{
-
-
}
-
-
+(id)shareUserDB;
-
-
-(void)creatTableWithDataBaseName:(NSString*) dbName;
-
-
-(BOOL)addUser:(UserModel*)userModel dbName:(NSString*)dbName;
-
-
-(BOOL)updateUser:(UserModel*)userModel dbName:(NSString*)dbName;
-
-
-(NSArray*)findAllUser:(NSString*)dbName;
-
-
-(BOOL) deleteUser:(UserModel*)userModel dbName:(NSString*)dbName;
-
-
@end
UserDB.m
-
-
-
-
-
-
-
-
-
#import "UserDB.h"
-
-
@implementation UserDB
-
-
static UserDB * db;
-
-
+(id) shareUserDB{
-
if (db==nil) {
-
db= [[UserDB alloc] init];
-
}
-
return db;
-
}
-
-
-(void)creatTableWithDataBaseName:(NSString*) dbName{
-
NSString *sql=@"create table user( userName text primary key,passWord text, userEmail text)";
-
[self createTable:sql dataBaseName:dbName];
-
-
}
-
-
-(BOOL) deleteUser:(UserModel*)userModel dbName:(NSString*)dbName{
-
NSString *sql=@"delete from user where userName =?";
-
NSArray *params=@[ userModel.userName];
-
return [self execSql:sql parmas:params dataBaseName:dbName];
-
}
-
-
-
-(BOOL)addUser:(UserModel *)userModel dbName:(NSString *)dbName{
-
NSString *sql=@"insert into user (userName,passWord,userEmail) values (?,?,?)";
-
NSArray *params=@[userModel.userName,userModel.passWord,userModel.userEmail];
-
return [self execSql:sql parmas:params dataBaseName:dbName];
-
}
-
-(NSArray*) findAllUser:(NSString *)dbName{
-
NSString *sql=@"select userName,passWord,userEmail from user";
-
NSArray *result= [self selectSql:sql parmas:nil dataBaseName:dbName];
-
NSMutableArray *users=[NSMutableArray array];
-
for (NSDictionary *dic in result) {
-
UserModel *user=[[UserModel alloc] init];
-
user.userName=[dic objectForKey:@"userName"];
-
user.passWord=[dic objectForKey:@"passWord"];
-
user.userEmail=[dic objectForKey:@"userEmail"];
-
[users addObject:user];
-
}
-
-
return users;
-
-
}
-
-
-(BOOL)updateUser:(UserModel *)userModel dbName:(NSString *)dbName{
-
NSString *sql=@"update user set userName=?,passWord=?,userEmail=? where userName=?";
-
NSArray *params=@[userModel.userName,userModel.passWord,userModel.userEmail,userModel.userName];
-
-
return [self execSql:sql parmas:params dataBaseName:dbName];
-
-
}
-
-
-
@end
MainViewController是用戶顯示所有用戶列表
AddViewController用於增加和修改用戶界面的顯示