IOS开发-UI学习-sqlite数据库的操作
IOS开发-UI学习-sqlite数据库的操作
sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快,在ios和安卓app中常用来完成对数据进行离线缓存的处理,如新闻数据的离线缓存。
它的基本操作步骤是:
1、先加入sqlite开发库libsqlite3.dylib,
2、新建或打开数据库,
3、创建数据表,
4、插入数据,
5、查询数据并打印,
6、关闭数据库,
具体操作步骤如下:
1、导入sqlite数据库所需头文件:
导入完成后如图所示:

2、程序代码的编制:
//
// ViewController.m
// sqlite手动创建数据库和表
//
// Created by mac on 16/4/12.
// Copyright © 2016年 mzw. All rights reserved.
// #import "ViewController.h"
#import "FMDatabase.h"
@interface ViewController (){
FMDatabase *mydb;
NSString * idd;
NSString * age;
NSString * name;
} @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; // 创建一个数据库路径path
NSString *path =[NSHomeDirectory() stringByAppendingString:@"/Documents/mydb.sqlite"]; // 根据创建好的路径path生成数据库
mydb = [[FMDatabase alloc]initWithPath:path]; // 创建一个在数据库中创建表mytable的字符串
NSString *tablecreate = @"create table if not exists mytable(id txt primary key,name text,age text)"; // 打开数据库
if ([mydb open]) { // 使用创建好的字符串新建表mytable
BOOL createOK = [mydb executeUpdate:tablecreate]; if (createOK) {
// 如果创建成果,打印创建成功的提示
NSLog(@"数据库创建成功"); // 使用sql语句中的insert into语句往创建好的mytable中添加一条记录
BOOL insertOK = [mydb executeUpdate:@"insert into mytable(id,age,name) values(?,?,?)",@"",@"",@"huangweiqiang"]; // 使用sql语句中的insert into语句往创建好的mytable中添加多条记录
BOOL insertsOK = [mydb executeUpdate:@"insert into mytable(id,age,name) select '2','24','mazhongwei' union all select '3','21','xiangyiyao' union all select '4','34','zhanglong'"]; // 使用sql语句中的delete from语句删除符合条件的语句
[mydb executeUpdate:@"delete from mytable where id = '4'"]; // 使用sql语句中的update更新表中的记录
[mydb executeUpdate:@"update mytable set age = '100000' where id = '3'"]; // 使用sql语句中的查询语句查询符合条件的语句,返回结果为一个集合,使用next函数遍历结果并赋值给idd,age,name三个变量
FMResultSet *rsset = [mydb executeQuery:@"select * from mytable where id = '3'"];
while ([rsset next]) {
idd = [rsset stringForColumn:@"id"];
age = [rsset stringForColumn:@"age"];
name = [rsset stringForColumn:@"name"];
} // 操作完成后关闭数据库
[mydb close]; // 打印查询结果
NSLog(@"%@_%@_%@",idd,age,name); }else{
// 如果创建失败,返回失败提示
NSLog(@"数据库创建失败");
}
} } @end
IOS开发-UI学习-sqlite数据库的操作的更多相关文章
- 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
- 使用iOS原生sqlite3框架对sqlite数据库进行操作
摘要: iOS中sqlite3框架可以很好的对sqlite数据库进行支持,通过面向对象的封装,可以更易于开发者使用. 使用iOS原生sqlite3框架对sqlite数据库进行操作 一.引言 sqlit ...
- iOS开发UI篇—Quartz2D使用(矩阵操作)
iOS开发UI篇—Quartz2D使用(矩阵操作) 一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: - (void)drawRect:(CGRect)r ...
- 关于iOS开发的学习
关于iOS开发的学习,打个比方就像把汽车分解: 最底层的原料有塑料,钢铁 再用这些底层的东西造出来发动机,座椅 最后再加上写螺丝,胶水等,把汽车就拼起来了 iOS基本都是英文的资料, ...
- iOS开发 数据缓存-数据库
iOS中数据存储方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding (NSKeyedArchiver\NSk ...
- iOS开发UI篇—CAlayer(自定义layer)
iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的Draw ...
- iOS开发UI篇—CALayer简介
iOS开发UI篇—CALayer简介 一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实 ...
- iOS开发UI篇—核心动画(UIView封装动画)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- iOS开发UI篇—核心动画简介
转自:http://www.cnblogs.com/wendingding/p/3801036.html iOS开发UI篇—核心动画简介 一.简单介绍 Core Animation,中文翻译为核心动画 ...
随机推荐
- 学习笔记——适配器模式Adapter
适配器模式适用于将不一致的接口转换为一致的接口. 比如,去香港玩儿,带上了自己的笔记本电脑,结果晚上插电时就抓瞎了,电源插孔与插座不一致.WTF…… 插座是酒店装好的,不可能拆了换一个,电源是自己的, ...
- 分布式数据库Cobar
Cobar简介: Cobar是关系型数据库的分布式处理系统,它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务. 产品在阿里巴巴B2B公司已经稳定运行了3年以上. 目前已经接管了3000 ...
- PAT (Advanced Level) 1115. Counting Nodes in a BST (30)
简单题.统计一下即可. #include<cstdio> #include<cstring> #include<cmath> #include<vector& ...
- STM32F2系列时钟的配置
前一节详细介绍了系统默认的时钟配置,及各路时钟输出是多少,这是默认配置的,但实际使用的时钟默认的时钟并不符合要求,所以就得知道如何调用库函数进行配置. 最好的资料就是查阅stm32f2xx_rcc.c ...
- Java实现随意切换VPN改变上网地区
http://www.jb51.net/article/69267.htm 这篇文章主要介绍了Java实现随意切换VPN改变上网地区,本文直接给出实例代码,需要的朋友可以参考下 在很多情况下,有些网络 ...
- java工程开发之图形化界面之(第四课)
本节中,我们将创建一个小应用程序,它使用循环生成其图案.我们将使用if语句和setColor方法.同时我们将介绍drawString方法,并使用它在小应用程序窗口中写出文本. 下面的小应用程序是显示一 ...
- cookies和session的优缺点
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. Cookie的优缺点: 优点:极高的扩展性和可用性通过良好的编程,控制保存在cookie ...
- Linux 查询程序安装路径 是否安装
rpm -ql httpd #[搜索rpm包]--list所有文件安装目录 rpm -q mysql //查询程序是否安装 关于rpm详细用法 参考 http://www.cnblogs.com/x ...
- HTML DOCTYPE文档类型举例说明
HTML DOCTYPE文档类型举例说明 HTML4.01文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font.b等),不可以使用框架 < ...
- Sql语句不等于空
对于这种有null的我一般用这样的句子 isnull(Tag,'') <> '文章' 这样就可以搞定了不管是字符还是数字都可以用 <>