1.案例简介


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


2.项目工程目录




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



UserModel类为用户对象模型,与数据库表中字段一一对应


BaseDB类为对sqlite简单封装,抽象出对数据库操作的三个方法,具体内容看 博文


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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

UserDB.m


//
//  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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.



MainViewController是用户显示所有用户列表


AddViewController用于增加和修改用户界面的显示


完整项目代码下载