ios对SQLite3的使用
一、在Firefox中打开sqlite3(如果没有,选择工具->附加组件,添加即可)新建sqlite3数据库,Contacts,
建立一个members表,字段 id,integer,主键,自增;name,varchar;email,varchar,null;birthday,datetime,null。
向表中添加一些数据:
二、新建Empty Appliation,添加一个HomeViewController,和一个组件libsqlite3.dylib,来支持对sqlite3的连接,关闭,增删改查等操作。
1. HomeViewController.h代码:
2. HomeViewController.m代码:
#import "HomeViewController.h"
//该方法用于返回数据库在Documents文件夹中的全路径信息
//打开数据库的方法
//方法2:变量的绑定方法
插入数据后的效果:
查询的效果:
三、小结:
1.数据查询:sqlite3_exec()函数执行sql语句,在没有返回值的情况下(比如创建表格、插入记录、删除记录等操作中)很好用。
也会用到sqlite3_stat结构、sqlite3_prepare_v2()函数、sqlte3_step()函数和sqlite3_finalize()函数。
查询分三个阶段:准备阶段:sqlite3_stat、sqlite3_prepare_v2()
执行阶段:sqlte3_step()
终止阶段: sqlite3_finalize()
2.附表:
sqlite3数据库打开时的返回值及其所代表的含义
返回值 |
描述 |
返回值 |
描述 |
SQLITE_OK=0 |
返回成功 |
SQLITE_FULL=13 |
数据库满,插入失败 |
SQLITE_ERROR=1 |
Sql错误或错误的数据库 |
SQLITE_CANTOPEN=14 |
不能打开数据库文件 |
SQLITE_INTERNAL=2 |
Sqlite的内部逻辑错误 |
SQLITE_PROTOCOL=15 |
数据库锁定协议错误 |
SQLITE_PERM=3 |
拒绝访问 |
SQLITE_EMPTY=16 |
数据库表为空 |
SQLITE_ABORT=4 |
回调函数请求中断 |
SQLITE_SCHEMA=17 |
数据库模式改变 |
SQLITE_BUSY=5 |
数据库文件被锁 |
SQLITE_TOOBIG=18 |
一个表数据行过多 |
SQLITE_LOCKED=6 |
数据库中的一个表被锁 |
SQLITE_CONSTRAINT=19 |
由于约束冲突而中止 |
SQLITE_NOMEN=7 |
内存分配失败 |
SQLITE_MISMATCH=20 |
数据类型不匹配 |
SQLITE_READONLY=8 |
试图对一个只读数据库进行写操作 |
SQLITE_MISUSE=21 |
数据库错误使用 |
SQLITE_INTERRUPT=9 |
由sqlite_interrupt()结束操作 |
SQLITE_NOLFS=22 |
使用主机操作系统不支持的特性 |
SQLITE_IOERR=10 |
磁盘I/O发生错误 |
SQLITE_AUTH=23 |
非法授权 |
SQLITE_CORRUPT=11 |
数据库磁盘镜像畸形 |
SQLITE_FORMAT=24 |
辅助数据库格式错误 |
SQLITE_NOTFOUND=12 |
(Internal Only)表或记录不存在 |
SQLITE_NOTADB=26 |
打开的不是一个数据库文件 |
ios对SQLite3的使用的更多相关文章
- ios在SQLite3基本操作
iOS关于sqlite3操作 iPhone中支持通过sqlite3来訪问iPhone本地的数据库. 详细用法例如以下 1:加入开发包libsqlite3.0.dylib 首先是设置项目文件.在项目中加 ...
- 使用iOS原生sqlite3框架对sqlite数据库进行操作
摘要: iOS中sqlite3框架可以很好的对sqlite数据库进行支持,通过面向对象的封装,可以更易于开发者使用. 使用iOS原生sqlite3框架对sqlite数据库进行操作 一.引言 sqlit ...
- iOS关于sqlite3操作
原文:http://hi.baidu.com/clickto/blog/item/0c6904f787c34125720eec87.html iPhone中支持通过sqlite3来访问iPhone本地 ...
- iOS 数据库sqlite3.0操作--超简单--看我就够啦
iOS客户端数据存储的方式有很多,下面主要是介绍苹果自带的sqlite3.0的使用方法. 首先导入sqlite3.0的框架.然后导入头文件#import <sqlite3.h>就行了 下面 ...
- iOS- 简单说说iOS移动客户端SQLite3的基本使用
1.为什么要使用SQLite3? •大量数据需要存储 •管理数据,存储数据 SQLite是一种关系型数据库(也是目前移动客户端的主流数据库) 2.SQLite3的几种存储类型 a.NU ...
- iOS使用sqlite3原生语法进行增删改查以及FMDB的使用
首先要导入libsqlite3.dylib并且加入头文件#import <sqlite3.h>,在进行增删改查之前还要先把数据库搞进去. 一种方法是从外面拷贝到程序里:http://www ...
- iOS之Sqlite3封装
一.代码下载 代码下载地址 二.实例效果展示 imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="效果图二.png&q ...
- iOS:转载sqlite3
SQLITE3 使用总结 2012-08-21 13:48:28 分类: SQLite/嵌入式数据库 SQLITE3 使用总结 2009-09-16 07:36 2624人阅读 评论(10) 收藏 ...
- iOS中sqlite3操作
声明:下面命令我没有所有使用过, 仅用于收藏, 欢迎大家指出当中的错误 'SELECT count(*) FROM sqlite_master WHERE type="table&qu ...
随机推荐
- Linux文件操作学习总结【转载】
本文转载自: http://blog.csdn.net/xiaoweibeibei/article/details/6556951 文件类型:普通文件(文本文件,二进制文件).目录文件.链接文件.设备 ...
- [Java] 模板引擎 Velocity 随笔
Velocity 是一个基于 Java 的模板引擎. 本博文演示 Velocity 的 HelloWord 以及分支条件. HelloWord.vm,模板文件. templateDemo.java, ...
- CSAPP:cachelab(1)
本项目大体上就是要求用C\C++来模拟cpu对cache的访问,然后统计hits.misses和eviction的次数.其实并没有想象中的那么难,感觉完全可以当成一道acm里面的大模拟题..下面就对这 ...
- MVC控制器方法返回类型
控制器公开控制器操作.操作是控制器上的方法,在浏览器的地址栏中输入特定 URL 时被调用.例如,假设要请求下面的 URL: http://localhost/Product/Index/3 在这种情况 ...
- 建立企业内部mavenserver并使用Android Studio公布公共项目
由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT ...
- Windows下搭建MySQL Master Slave[转]
Windows下搭建MySQL Master Slave 一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用k ...
- [Typescript] Introduction to Generics in Typescript
If Typescript is the first language in which you've encountered generics, the concept can be quite d ...
- mysql将一个库中表的某几个字段插入到另一个库中的表
insert into dbname1.tablename1(filed1,filed2,filed3) select filed1,filed2,filed3from dbname2.tablena ...
- js进制转换
var n = 17; var n2 = n.toString(2); var n8 = "0" + n.toString(8); var n16 = "0x" ...
- Vitamio 多媒体框架 介绍
功能 Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染.Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐.到目前 ...