1.案例简介
对SQLite操作进行了简单的封装,将对数据表操作转变成对对象的操作,并通过UI界面完成对用户表的增、删、改、查,运行界面如下图所示
a
2.项目工程目录
UserModel类为用户对象模型,与数据库表中字段一一对应
BaseDB类为对sqlite简单封装,抽象出对数据库操作的三个方法,具体内容看
http://blog.csdn.net/whzhaochao/article/details/38865535博文
UserDB继承于BaseDB,主要是完成UserModel对象的增、删、改、查,其内容如下
UserDB.h
- //
- // UserDB.h
- // SqliteDemo
- //
- // Created by 赵超 on 14-8-27.
- // Copyright (c) 2014年 赵超. All rights reserved.
- //
- #import "BaseDB.h"
- #import "UserModel.h"
- @interface UserDB : BaseDB{
- }
- //单例
- +(id)shareUserDB;
- //创建User表
- -(void)creatTableWithDataBaseName:(NSString*) dbName;
- //增加一个UserModel
- -(BOOL)addUser:(UserModel*)userModel dbName:(NSString*)dbName;
- //修改一个UserModel
- -(BOOL)updateUser:(UserModel*)userModel dbName:(NSString*)dbName;
- //查询所有
- -(NSArray*)findAllUser:(NSString*)dbName;
- //删除一个对象
- -(BOOL) deleteUser:(UserModel*)userModel dbName:(NSString*)dbName;
- @end
- //
- // UserDB.m
- // SqliteDemo
- //
- // Created by 赵超 on 14-8-27.
- // Copyright (c) 2014年 赵超. All rights reserved.
- //
- #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用于增加和修改用户界面的显示