zoukankan      html  css  js  c++  java
  • IOS Sqlite用户界面增删改查案例

    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
    //
    //  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用于增加和修改用户界面的显示












  • 相关阅读:
    "pom.xml" could not be activated because it does not exist.
    spring boot启动STS 运行报错 java.lang.NoClassDefFoundError: ch/qos/logback/classic/LoggerContext
    @SpringBootApplication cannot be resolved to a type In STS
    Maven搭建之后的设置
    自动化部署工具
    康威定律
    Thrift简介
    JVM分代通俗解释
    过滤器和监听器之间的区别
    Configuring WS-Security UsernameToken and WS-SecureConversation (Symmetric Connection Creation)
  • 原文地址:https://www.cnblogs.com/whzhaochao/p/5023434.html
Copyright © 2011-2022 走看看