文档章节

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
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
07/11
0
0
基于 ORM 的 FMDB 封装使用

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

PetitBread
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
4分钟前
0
0

中国龙-扬科
昨天
0
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
3
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
6
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部