文档章节

iOS 数据库FMDN 数据库的增 删 改 查 的 的基本操作

YunHe_Lee
 YunHe_Lee
发布于 2015/06/17 11:45
字数 495
阅读 14
收藏 0

FMDB的下载地址 (https://github.com/ccgus/fmdb) 话不多说首先将这个 库加进来,在将加进来,OK  准备工作就绪上代码。

#import "DDViewController.h"

#import "FMDB.h"


@interface DDViewController ()

{

    FMDatabase *db;

}


@end


@implementation DDViewController

/**

 *  要先做要有个位置去存放数据库  iosDocument路径,Documentios中可读写的文件夹并且要创建一个数据库的列表

 */

- (void)viewDidLoad

{

    [super viewDidLoad];

//    db = [FMDatabase new];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentDirectory = [paths objectAtIndex:0];

    //dbPath 数据库路径,在Document中。

    NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];

    //创建数据库实例 db  这里说明下:如果路径中不存在"Test.db"的文件,sqlite会自动创建"Test.db"

    db= [FMDatabase databaseWithPath:dbPath] ;

    if (![db open]) {

        NSLog(@"Could not open db.");

        return ;

    }

    //为数据库设置缓存,提高查询效率

    [db setShouldCacheStatements:YES];

// 1.创建一个表 表的名字 User

    [self creatTable];

    //2.向表中添加数据

    [self insertData:@"草帽" age:23];

    //3.查看结果

    [self ResultSet];


}

//创建一个表

-(void)creatTable

{

//创建表的时候 最好判断下自己的之前的工作有么有做好

    if (!db) {

        NSLog(@"数据库不存在");

    }

    if (![db open]) {

        [db open];

    }

    //判断是否存在这张名字为User的表 如果没有 创建

    if (![db tableExists:@"User"]) {

        //创建一个名为User的表,有两个字段分别为string类型的Nameinteger类型的 Age

        [db executeUpdate:@"CREATE TABLE User (Name text,Age integer)"];

//        [self insertData:@"草帽" age:24];


    }

}

//插入数据

-(void)insertData:(NSString *)name age:(int)age

{

    //插入数据使用OC中的类型 text对应为NSString integer对应为int的整型

    [db executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",name,[NSNumber numberWithInt:age]];


}

//查询结果

-(void)ResultSet

{

    //返回数据库中第一条满足条件的结果

    NSString *aa=[db stringForQuery:@"SELECT Name FROM User WHERE Age = ?",@"20"];

    NSLog(@"aa is %@",aa);

    

    FMResultSet *rs=[db executeQuery:@"SELECT * FROM User"];

//    rs=[db executeQuery:@"SELECT * FROM User WHERE Age = ?",@"23"];

    while ([rs next]){

        NSLog(@"%@ %@",[rs stringForColumn:@"Name"],[rs stringForColumn:@"Age"]);

    }

    [rs close];


}

//修改表内容

-(void)Modify

{

    [db executeUpdate:@"UPDATE User SET Name = ? WHERE Name = ? ",@"李四",@"张三"];

}

- (void)didReceiveMemoryWarning


{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


© 著作权归作者所有

上一篇: BocK的使用
下一篇: tableView总结
YunHe_Lee
粉丝 0
博文 8
码字总数 4263
作品 0
朝阳
私信 提问
Android Studio 通过一个登录功能介绍SQLite数据库的使用

前言: SQLite简介:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很...

AnneHan
2018/09/29
0
0
IOS用sqlite的原生代码操作数据库详解 总和两个网页的讲解

ios Sqlite数据库增删改查基本操作 第一个讲解网页的内容 研究了几天的数据库,终于把它给搞出来了。Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的。这是仿照网上的一个例子做...

HillYoung
2014/02/14
0
0
微信 WCDB 正式开源,高效易用的移动数据库框架

腾讯于6月9日在 GMTC 全球移动技术大会上宣布, WCDB(WeChat Database)作为微信的一个开源组件正式对外开源。官方介绍如下: WCDB 是一个高效、完整、易用的移动数据库框架,基于 SQLCiphe...

王练
2017/06/09
5.3K
18
[快速学会Swift第三方库] SQLite.swift篇

SQLite.swift 是一个使用纯 Swift 语言封装 SQLite3 的操作框架。 特性: 目录 [快速学会Swift第三方库 SQLiteswift篇] 编码之前 导入SQLite.swift 推荐使用CocoaPods进行导入,CocoaPods是一...

远0
2018/07/11
0
0
基于 ORM 的 FMDB 封装使用

PPDataBase 将 FMDB 一些基本数据操作做了封装,基于线程安全。 适用于不是特别复杂的数据库处理 功能接口 数据的增删改查,表删除 批量数据插入,删除,开启事务 数据条件查询,支持自定义 ...

PetitBread
2018/07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我的程序人生——三年开发的思考,阿里朋友给我总结的“Java架构师技术栈”

想写这篇文章已经很久了,本来计划在3月份,也就是刚好满3年的时候写的,但是因为各种各样的原因推到了现在才开始码字。 小感慨 三年是一段很长的时间,它足够让你从高中毕业进入大学,也能让...

我最喜欢三大框架
30分钟前
0
0
ElasticSearch获取索引信息

检查集群的健康情况 GET /_cat/health?v green:每个索引的primary shard和replica shard都是active状态的 yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是act...

水木星辰
32分钟前
1
0
Cesium中级教程6 - 3D Models 三维模型

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 3D Models 三维模型 本教程将教您如何通过Primitive API转换、加载和使用Cesium中的三维模型。如果你是C...

Cesium中文网
34分钟前
0
0
Elasticsearch简单学习1-用白话文解释原理

由于Elasticsearch在工作中用的越来越多,平时是边学边用,很少记录,读到一些很好的文章时间久了就忘记了。 所以,在此记录一下,希望对更多人的学习有帮助,知识在于分享! ==============...

wind2012
41分钟前
1
0
Spring面试题部分总结【慨念】

什么是Spring? spring是一个企业级应用的开源开发框架,主要用来开发java应用,spring框架目标就是简化企业级应用开发。 Spring用到了那些设计模式? spring里面用到了大量的设计模式,这里...

薛小二
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部