Sqlite是ios数据存储的一个重要手段,今天我们就一块来看一下,怎样使用sqlite将数据存储到沙盒中去。

  第一步:导入一个框架libsqlite3.0.dylib

  选中TARGETS在General中的Linked Frameworks and Libraries选项中点击‘+’添加

第二步:代码部分

    1.找到沙盒中的路径

NSArray *path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [path objectAtIndex:];
NSString *dbPath = [documentPath stringByAppendingPathComponent:@"sqlite.db"];

    2.创建sqlite对象,并执行打开操作

sqlite3 *db;
//打开数据库
int res = sqlite3_open(dbPath.UTF8String, &db);

3.创建表

NSString *sql = @"create table if not exists 'student' ('id' integer primary key autoincrement,'studentname' varchar)";
int sqlRes = sqlite3_exec(db, sql.UTF8String, NULL, NULL, NULL);
if (sqlRes == SQLITE_OK) {
NSLog(@"create table ok");
}

4.向表中插入数据

//增 NSString *sql1 = @"insert into student (studentname) values ('小帐')";
int sql1Res = sqlite3_exec(db, sql1.UTF8String, NULL, NULL, NULL);
if (sql1Res == SQLITE_OK) {
NSLog(@"insert ok");
}

    5.从表中删除数据

NSString *deletesql  = @"delete from student where id = 3";
int deleres = sqlite3_exec(db, deletesql.UTF8String, NULL, NULL, NULL);
if (deleres == SQLITE_OK) {
NSLog(@"delete is ok");
}

6.修改表中的数据

//修改
NSString *updateSql = @"update student set studentname = 'wangling' where id = 4";
int updateres = sqlite3_exec(db, updateSql.UTF8String, NULL, NULL, NULL);
if (updateres == SQLITE_OK) {
NSLog(@"update is ok");
}

7.查询数据

  查询数据和,增删改都有所不同,我们需要首先创建sqlite_stmt对象,用来存放我们查询的数据流(二进制),然后使用sqlite3_prepare_v2函数准备,通过sqlite3_bind_添加查询参数最后获取数据,最后关闭sqlite_stmt对象。

//查
sqlite3_stmt *stmt;
NSString *selectSql = @"select * from student where id = ?"; if (sqlite3_prepare_v2(db, selectSql.UTF8String, -, &stmt, nil) == SQLITE_OK) {
sqlite3_bind_int(stmt, , );
while (sqlite3_step(stmt) == SQLITE_ROW) {
int identity = sqlite3_column_int(stmt, );
NSLog(@"%d",identity);
char * name= (char *)sqlite3_column_text(stmt, );
NSLog(@"%@",[NSString stringWithUTF8String:name]);
}
if (stmt) {
sqlite3_finalize(stmt);
}

8.关闭数据库sqlite对象

if (db) {
sqlite3_close(db);
}
作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/ 
版权声明:本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

技术咨询:
 

Ios开发之sqlite的更多相关文章

  1. iOS开发之Socket通信实战--Request请求数据包编码模块

    实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...

  2. iOS开发之UISearchBar初探

    iOS开发之UISearchBar初探 UISearchBar也是iOS开发常用控件之一,点进去看看里面的属性barStyle.text.placeholder等等.但是这些属性显然不足矣满足我们的开 ...

  3. iOS开发之UIImage等比缩放

    iOS开发之UIImage等比缩放 评论功能真不错 评论开通后,果然有很多人吐槽.谢谢大家的支持和关爱,如果有做的不到的地方,还请海涵.毕竟我一个人的力量是有限的,我会尽自己最大的努力大家准备一些干货 ...

  4. iOS开发之 Xcode6 添加xib文件,去掉storyboard的hello world应用

    iOS开发之  Xcode6.1创建仅xib文件,无storyboard的hello world应用 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理 ...

  5. iOS开发之loadView、viewDidLoad及viewDidUnload的关系

    iOS开发之loadView.viewDidLoad及viewDidUnload的关系 iOS开发之loadView.viewDidLoad及viewDidUnload的关系    标题中所说的3个方 ...

  6. iOS开发之info.pist文件和.pch文件

    iOS开发之info.pist文件和.pch文件 如果你是iOS开发初学者,不用过多的关注项目中各个文件的作用.因为iOS开发的学习路线起点不在这里,这些文件只会给你学习带来困扰. 打开一个项目,我们 ...

  7. iOS开发之WKWebView简单使用

    iOS开发之WKWebView简单使用   iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版. ...

  8. iOS 开发之Block

    iOS 开发之Block 一:什么是Block.Block的作用 UI开发和网络常见功能的实现回调,按钮事件的处理方法是回调方法. 1.     按钮事件 target action 机制. 它是将一 ...

  9. iOS开发之Xcode常用调试技巧总结

    转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...

随机推荐

  1. 【洛谷P1541】乌龟棋

    四维dp #include<cstdio> #include<cstring> using namespace std; ; ],a,b,c,d,n,m; int max(in ...

  2. Jade之Doctype

    Doctype jade: doctype html html: <!DOCTYPE html>

  3. Java list的用法排序及遍历

    原文地址:http://baike.xsoftlab.net/view/208.html 1用法 ·ArrayList ·LinkedList 2排序 ·数字排序 ·中文排序 ·实体类排序 3遍历 · ...

  4. 斯坦福第十二课:支持向量机(Support Vector Machines)

    12.1  优化目标 12.2  大边界的直观理解 12.3  数学背后的大边界分类(可选) 12.4  核函数 1 12.5  核函数 2 12.6  使用支持向量机 12.1  优化目标 到目前为 ...

  5. java里的static和final

    本节介绍JAVA里static和final的作用和使用方法以及一些需要注意的问题. 一.static static表示"全局"或"静态",用来修饰成员变量和成员 ...

  6. JQuery学习(选择器-可见性-hidden)

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. HDFS用户指南

    https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html hdfs的一些特征: 1.hadoop 包含hdfs 很适合分布式存储以及分布式处 ...

  8. RabbitMq基本使用

    1.新建一个vhost : rabbitmqctl add_vhost test 2.新建一个用户: rabbitmqctl add_user news news 3.对这个news用户增加test ...

  9. ubuntu下使用nginx部署Laravel

    问题描述 Laravel是PHP下当今最受欢迎的web应用开发框架,github上start数远超第二名Symfony,以前我用这个框架做项目的时候通常就是扔到apache里面,然后配置.htacce ...

  10. JS学习笔记12_优化

    一.可维护性优化 1.添加注释 注释能够增强代码的可读性以及可维护性,当然,理想情况是满满的注释,但这不太现实.所以我们只需要在一些关键的地方添上注释: 函数和方法:尤其是返回值,因为直接看不出来 大 ...