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 ...
随机推荐
- Hot to get clicked cell column in DevExpress XtraGrid
To accomplish this task, use the GridView.RowCellClickevent. Please note that this event will not fi ...
- 《算法问题实战策略》-chaper14-整数论
Lucas定理: 在组合计数问题中,我们常面临组合数C(n,m)过大而无法直接计算的困境,那么这里的Lucas定理给出了一个较大组合数进行取余运算的一种递归算法. 什么是Lucas定理? Lucas定 ...
- POJ2533 Longest ordered subsequence
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 41984 Acc ...
- java二进制文件复制
package com.starain.io; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;impor ...
- MD5方法代码(生成小写的md5) C#版本
public string GetMD5Str(string input) { // Use input string to calculate MD5 hash MD5 md5 = System.S ...
- javascript基础笔记学习
/** * Created by Administrator on 2016/12/26. */ /* var box; alert( typeof box); box是Undefined类型,值是u ...
- 循序渐进DB2(第2版)——DBA系统管理、运维与应用案例
<循序渐进DB2(第2版)——DBA系统管理.运维与应用案例> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302323013 上架时间:2013-7-3 出 ...
- sql为了实现转换的行列
全名 学科 成绩 牛芬 语文 81 牛芬 数学 88 牛芬 英语 84 张三 语文 90 张三 数学 98 张三 英语 90 (表一) 现有一个表如(表一) 姓名 语文 数学 英语 牛芬 81 88 ...
- ls Common Command-Line Options
ls Common Command-Line Options Command Use: ls -l Shows a long listing, which includes informat ...
- css07家用电器分类
1.创建一个html页面 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&q ...