IOS开发之数据sqlite使用
一、引入工具包 |
引入工具包libsqlite3.dylib,该工具包为C语言工具包。
二、代码操作数据库 |
1、创建并且链接数据库
- (void) _connectDB{//1>获取沙盒路径作为数据库创建时候的初始化路径NSString * path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];path=[path stringByAppendingPathComponent:@"new.sqlite"];NSLog(@"%@",path);//2>如果存在则打开当前链接,如果不存在则创建if(SQLITE_OK==sqlite3_open(path.UTF8String, &sqlite)){NSLog(@"数据库创建成功!");}else {NSLog(@"数据库创建失败!");}}
2、操作数据库
/*** 创建表*/- (void) _createTable{NSString *create=@" create table if not exists t_Person (id integer primary key autoincrement,name text,age integer,tel text)";[self _execSql:create andTip:@"创建表操作"];} /*** 插入数据操作** @param name 姓名* @param age 年龄* @param tel 电话*/- (void) _insertName:(NSString *) name andAge:(int )age andTel:(NSString *) tel{NSString * insert=[NSString stringWithFormat:@" insert into t_Person(name,age,tel) values('%@',%d,'%@')",name,age,tel];[self _execSql:insert andTip:@"插入操作"];}/*** 执行数据库操作** @param sql 要执行的sql* @param tip 要执行的操作标题*/- (void) _execSql:(NSString *) sql andTip:(NSString *) tip{char * result;if(SQLITE_OK==sqlite3_exec(sqlite, sql.UTF8String, NULL, NULL, &result)){NSLog(@"%@成功!",tip);}else{NSLog(@"%@失败!",tip);}}
3、查询数据库
/*** 读取数据*/- (void)_readData{//1> 定义sql语句NSString * sql=@"select id,name,age,tel from t_person ";sqlite3_stmt * stmt=NULL;//2> 检查语法的正确性if(SQLITE_OK==sqlite3_prepare_v2(sqlite, sql.UTF8String, -1, &stmt, NULL)){//3> 循环结果集取数据while(sqlite3_step(stmt)==SQLITE_ROW){//4>注意:取出来数据可以封装到集合中备用int ID=sqlite3_column_int(stmt,0);const unsigned char *name=sqlite3_column_text(stmt, 1);int age=sqlite3_column_int(stmt, 2);const unsigned char *tel=sqlite3_column_text(stmt, 3);NSString * names=[NSString stringWithUTF8String:(const char *)name];NSString * tels=[NSString stringWithUTF8String:(const char *)tel];NSLog(@"%d,%@,%d,%@",ID,names,age,tels);}}}
出处:http://www.cnblogs.com/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载于:https://www.cnblogs.com/jerehedu/p/4328927.html
IOS开发之数据sqlite使用相关推荐
- IOS开发数据库篇—SQLite模糊查询
IOS开发数据库篇-SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: 1 // 2 // YYPerson.h 3 ...
- iOS开发之数据存储
概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation框架的文章中提到归档.plist文件存储, ...
- iOS开发系列--数据存取
原文地址为: iOS开发系列--数据存取 概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation ...
- iOS开发之数据存取
本文转载至 http://www.cocoachina.com/ios/20141111/10190.html 2014-11-11 13:43 编辑:suiling 分类:iOS开发 来源:崔江涛( ...
- iOS开发网络——数据缓存
一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造成以下问题 (1)用户流量的浪费 ...
- iOS开发网络数据之AFNetworking使用
如何选择AFNetworking版本 首先得下载AFNetworking库文件,下载时得首先弄清楚,你将要开发的软件兼容的最低版本是多少.AFNetworking 2.0或者之后的版本需要xcode5 ...
- iOS开发之数据存储之Preference(偏好设置)
1.概述 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能. 每个应用都有个NSUserDefaults实例,通过它来存取偏好 ...
- IOS开发数据库篇--- sqlite常用语句
/*简单约束*/ CREATE TABLE IF NOT EXISTS t_student(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age I ...
- ios开发 json数据文件的存取
将Json存进本地文件夹 NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMas ...
最新文章
- python OOP (1)
- PHP的array_column
- python ascii转utf8_ascii 转换为 utf-8
- 计算机技能大赛图形试题,图形图像处理技能大赛竞赛试题试卷.doc
- 操作元素-改变元素内容
- tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:)...
- 解决标签回车后产生的空格2
- oracle --union和union all
- 电商项目数据库表的学习及数据库表结构设计
- 搭建sql注入平台及DVWA漏洞环境
- 内存管理基本原理及非ARC环境使用小心得
- 【逻辑训练】来自可汗学院的有趣逻辑问题
- iOS 通过数字拼音快速搜索股票
- 《啊哈!算法》第一章 - 第三节 - 快速排序(Java实现)
- PHP反序列化字符串逃逸
- CSDN KaTeX 公式之等号对齐
- c语言strstr的使用及模拟实现strstr函数
- JAVA - 变量作用域
- 超融合详细对比:市面各主流超融合产品及厂商优劣势解密
- 原型模式使用手册,如何正确使用原型模式
热门文章
- Swift - AppDelegate.swift类中默认方法的介绍
- Linux练习(显示环境变量)
- Babylon.js 3.3发布:更强大的粒子系统和WebVR支持
- Python_赋值和深浅copy
- 欧盟剑指科技巨头,意欲上调税款
- angularJs 之deferred
- 容器网络Calico进阶实践 | 褚向阳
- 【GoLang】深入理解slice len cap什么算法? 参数传递有啥蹊跷?
- Beaglebone Black教程BeagleBone Black安装最新系统映像
- Connection cannot be null when 'hibernate.dialect'