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 *[email protected]" 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 * [email protected]"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);

        }

    }

}
时间: 2024-12-10 16:26:06

IOS开发之数据sqlite使用的相关文章

iOS开发系列--数据存取

概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列—Objective-C之Foundation框架的文章中提到归档.plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录.当然,文件存储并不作为本文的重点内容.本文重点还是说数据库存储,做过数据库开发的朋友应该知道,可以通过SQL直接访问数据库,也可以

iOS开发数据库篇—SQLite的应用

iOS开发数据库篇—SQLite的应用 一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二.具体说明 新建一个项目,在项目的主界面中放四个按钮(分别是,增加.删除.修改.查询). 1.sqlite3_open(<#const char *filename#>, <#sqlite3 **ppDb#>)函数的一些说明: (1)作用:把一个文件名称传递给他,它会自动检测这个文件是

iOS开发数据库篇—SQLite常用的函数

iOS开发数据库篇—SQLite常用的函数 一.简单说明 1.打开数据库 int sqlite3_open( const char *filename,   // 数据库的文件路径 sqlite3 **ppDb          // 数据库实例 ); 2.执行任何SQL语句 int sqlite3_exec( sqlite3*,                                  // 一个打开的数据库实例 const char *sql,                    

IOS开发数据库篇—SQLite模糊查询

IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: 1 // 2 // YYPerson.h 3 // 03-模糊查询 4 // 5 // Created by apple on 14-7-27. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h

【转】 iOS开发数据库篇—SQLite简单介绍

开始学SQLite啦, 原文: http://www.cnblogs.com/wendingding/p/3868893.html iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyedArchiver (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方

iOS开发网络数据之AFNetworking使用

iOS开发网络数据之AFNetworking使用 如何选择AFNetworking版本 首先得下载AFNetworking库文件,下载时得首先弄清楚,你将要开发的软件兼容的最低版本是多少.AFNetworking 2.0或者之后的版本需要xcode5.0版本并且只能为IOS6或更高的手机系统上运行,如果开发MAC程序,那么2.0版本只能在MAC OS X 10.8或者更高的版本上运行. AFNetworking 2.0的下载地址https://github.com/AFNetworking/AF

IOS开发中数据持久化的几种方法--NSUserDefaults

IOS开发中数据持久化的几种方法--NSUserDefaults IOS 开发中,经常会遇到需要把一些数据保存在本地的情况,那么这个时候我们有以下几种可以选择的方案: 一.使用NSUserDefault是最简单直接的一个办法: 1)保存数据: 1 // 实例化一个NSUserDefaults单例对象 2 NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; 3 // 把一个数组array保存在key为allContact的键值

李洪强iOS开发之数据存储

李洪强iOS开发之数据存储 iOS应用数据存储的常用方式 1.lXML属性列表(plist)归档 2.lPreference(偏好设置) 3.lNSKeyedArchiver归档(NSCoding) 4.lSQLite3 5.lCore Data Documents: 保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游戏存档保存在该目录 tmp: 保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除.应用没有运行时,系统也可能会清除该目录

iOS开发数据库篇—SQLite简单介绍

转自:http://www.cnblogs.com/wendingding/p/3868893.html 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyedArchiver (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题.