1.案例简单介绍

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

2.项目project文件夹



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用于添加和改动用户界面的显示












IOS Sqlite用户界面增删改查案例的更多相关文章

  1. IOS sqlite数据库增删改查

    1.简单介绍 简单封装sqlite数据库操作类 BaseDB 用于完毕对sqlite的增删改查.使用前先导入libsqlite3.0.dylib库 2.BaseDB.h // // BaseDB.h ...

  2. 转:ios Sqlite数据库增删改查基本操作

    研究了几天的数据库,终于把它给搞出来了.Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的.这是仿照网上的一个例子做的,有些部分写的不好,我稍作了修改,以讲解为主,主要让大家能够明白如 ...

  3. iOS CoreData (一) 增删改查

    代码地址如下:http://www.demodashi.com/demo/11041.html Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映 ...

  4. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  5. Android SQLite 数据库 增删改查操作

    Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...

  6. 快速入门GreenDao框架并实现增删改查案例

    大家的项目中不可避免的使用到SQLite,为此我们要花费心思编写一个增删改查框架.而一个好的ORM框架则能够给我们带来极大的方便,今天给大家讲解一个非常火热的ORM-GreenDao. 基本概念 Gr ...

  7. iOS 数据库的增删改查(OC版)

    自己写了几个方法来实现数据的增删改查功能: 首先在TARGETS--->>Build phases里面添加数据库所关联的库文件libsqlite3.tbd 添加完以后,在控制器上添加 #i ...

  8. 一步一步教你用c# entity framework6 连接 sqlite 实现增删改查

    使用entity framework6 连接 SQLite 数据库 前言 很多小型应用程序中,都要使用数据库,而现在比较流行的本地数据库非SQLite莫属. 第一步:前期准备 开发环境:vs2015 ...

  9. 一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

    本文系原创博客,文中不妥烦请指出,如需转载摘要请注明出处! ContentProvider的学习与运用 Alpha Dog 2016-04-13  10:27:06 首先,项目的地址:https:// ...

随机推荐

  1. 动态为TextView控件设置drawableLeft图标,并设置间距

    效果图: 重要属性: textView.setCompoundDrawablePadding(4);//设置图片和text之间的间距 textView.setPadding(-5, 0, 0, 0); ...

  2. 一点一点学架构(四)—Spring.NET错误Cannot Resolve Type……

    背景 在搭建完项目框架之后,当我利用单元測试来測一条线时.出现了下面错误: Cannot resolve type[--]for object with name 'ButtonBll' define ...

  3. 基于lucene的案例开发:纵横小说分布式採集

    转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/46812645 http://www.llwjy.com/blogdetail/9 ...

  4. c/c++中sleep()函数毫秒级的实现

    近期看到好多人在问.c/c++中的sleep函数是秒级的,能不能实现毫秒级的呢?当然非常easy.我的写法例如以下 #include <stdio.h> #include <sys/ ...

  5. fontend-githubs

    https://github.com/dypsilon/frontend-dev-bookmarks

  6. cmd 进入mysql 小技巧

    1.開始中找出执行:输入cmd 2.查找appserv所在盘,我的在D盘.所以接着输入:d: 3.在d盘中查找mysql所在文件夹:cd appserv\mysql\bin 4.再输入主机名.数据库名 ...

  7. Android学习之——优化篇(1)

    一.优化的品质 1.简练.2.可读性强.3.模块化:4.层次性:5.设计良好.6.高效.7.优雅:8.清晰. 二.常见的编程规范     1. 基本要求 · 结构清晰,简单易懂.单个函数不超过100行 ...

  8. JavaScript学习笔记——对象的创建

    对象是JavaScript基本数据类型,在JavaScript中除了Undefined.Null.布尔型(ture.false).字符串和数字之外,其他的都属于对象. 在JavaScript中,一个对 ...

  9. ROS-Solidworks转URDF

    前言:URDF建模很粗糙,而ros提供了支持sw转urdf的插件,可以使建模更精细化. 一.安装sw_urdf_exporter插件 sw_urdf_exporter插件网址:http://wiki. ...

  10. POJ 2536 匈牙利算法

    思路:最大匹配 (很裸) // by SiriusRen #include <cmath> #include <cstdio> #include <cstring> ...