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. 使用神经网络-垃圾邮件检测-LSTM或者CNN(一维卷积)效果都不错【代码有问题,pass】

    from sklearn.feature_extraction.text import CountVectorizer import os from sklearn.naive_bayes impor ...

  2. nyoj--16--矩形嵌套(动态规划)

    矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a< ...

  3. 【POJ 2482】 Stars in Your Windows

    [题目链接] http://poj.org/problem?id=2482 [算法] 线段树 + 扫描线 [代码] #include <algorithm> #include <bi ...

  4. 移动端 | table 布局

    <table border=” cellspacing="> <caption>表格标题</caption> <tr> <td alig ...

  5. usaco No Change, 2013 Nov 不找零(二分查找+状压dp)

    Description 约翰带着 N 头奶牛在超市买东西,现在他们正在排队付钱,排在第 i 个位置的奶牛需要支付 Ci 元.今天说好所有东西都是约翰请客的,但直到付账的时候,约翰才意识到自己没带钱,身 ...

  6. 关于getElementsByTagName的遍历顺序

    关于getElementsByTagName的遍历顺序是怎么样的呢? getElementsByTagName的遍历顺序是从HTML的页面从上到下遍历还是按照标签的嵌套顺序层层遍历的呢? 来做个小小的 ...

  7. Js基础知识(作用域、特殊函数---自调、回调、作为值的函数)

    15.作用域 概念: 规定变量或函数的可被访问的范围和生命周期 分类: 全局作用域 -就是指当前整个页面环境: 局部作用域(函数作用域) -就是指某个函数内部环境 l 变量的作用域 全局变量 - 定义 ...

  8. SQL--left join ,inner join, right jion, Limit

    SQL Limit 语句 用于返回规定的数量记录.当数据库中的数据量十分庞大时,可以使用,返回指定的数量记录. 语句如:select * from grade limit 5.返回grade表中的前面 ...

  9. WCF(一)控制台寄宿

    WCF是微软开发的一款通信框架.具有跨平台跨操作系统的特点,所以,WCF一般用于开发第三方接口或者在分布式系统用做数据交互. WCF三要素分别是地址(Address).绑定(Binding).契约(C ...

  10. Java用freemarker导出Word 文档

    1.用Microsoft Office Word打开word原件: 2.把需要动态修改的内容替换成***,如果有图片,尽量选择较小的图片几十K左右,并调整好位置: 3.另存为,选择保存类型Word 2 ...