IOS开发中如果用Sqlite库来写数据库会比较麻烦,FMDB是对sqlite的封装,有更加友好简洁的的语句。

1,FMDB下载地址:FMDB下载地址

2,导入src下的文件,使用时 #import "FMDatabase.h"

3,创建数据库

#define kDocDir [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]

#define dbPath [kDocDir stringByAppendingPathComponent:@"test.db"]

FMDatabase *db = [FMDatabase databaseWithPath:dbPath] ;

if (![db open]) {

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

[db close];

}

4,创建表table1,三个字段id是整形,name是字符串,image是二进制的。

NSString *sqlStr =@"CREATE TABLE table1 (id integer, name text, image blob)";

BOOL res = [db executeUpdate:sqlStr];

if (!res) {

NSLog(@"error when creating db tabletable1");

[db close];

}

5,插入数据

int idvalue;

NSString *name;

NSData *data;

sqlStr = @"insert into table1 values (?,?,?)";

res = [db executeUpdate:sqlStr,idvalue,name,data];

if (!res) {

NSLog(@"error when insert intotable1");

[db close];

}

插入语句请不要这么写:

sqlStr = [NSString stringWithFormat:@"insert into table1 values (‘%@’,'%@','%@')",idvalue, name, data];

res = [db executeUpdate:sqlStr];

if (!res) {

NSLog(@"error when insert intotable1");

[db close];

}

这样子写的话二进制的data将不会保存到表里面。

6,查询数据

FMResultSet *s = [db executeQuery:@"SELECT * FROM table1"];

while ([s next]) {

int idvalue =[s intForColumn:@"id"];

NSString *name=[s stringForColumn:@"name"];

NSData *data=[s dataForColumn:@"image"];

}

IOS FMDB 使用相关推荐

  1. iOS FMDB之FMDatabaseQueue(事物与非事物)

    事物与非事物 事物是一个并发控制的基本单元,所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 事物与非事物,简单的举例来说就是,事物就是把所有的东西打包在一 ...

  2. iOS FMDB官方使用文档 G-C-D的使用 提高性能(翻译)(转)

    由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍. 与此同时,把SQLite的文档页 http://www.sqlite.org/docs.html 加到你的书签中. ...

  3. ios FMDB数据库添删改查应用

    本文原创,转载请注明出处! 哦吼吼,又研究了几天,把FMDB这个封装好的数据库搞定了,写了个简单的例子,基于FMDB的添删改查操作,界面很一般了,代码可能比较乱,希望不要伤了各位的眼睛.依旧是纯代码实 ...

  4. ios mysql数据库查询语句_ios fmdb数据库查询语句

    iOS开发数据库篇-FMDB简单介绍 iOS开发数据库篇-FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语 ...

  5. fmdb和mysql的区别_fmdb数据库

    FMDB/SQLCipher数据库加解密,迁移 sqlite应用几乎在所有的App都能看到,虽然我们的数据存储在沙盒里面,一般情况下无法拿到,但是iOS管理软件(如:iFunBox)可以读取到应用程序 ...

  6. rancher添加私有仓库_CocoaPods搭建私有库

    前言 iOS组件化开发很重要的一个技术点:CocoaPods私有库的搭建.而且最近答应一个网友要写一篇关于<CocoaPods搭建私有库>相关的文章,于是结合网上的一些blog和实际操作, ...

  7. oracle中多条数据的增查,Oracle数据库,数据的增、删、改、查

    oracle数据库中,数据的增.删.改.查,通过SQL语句实现 SQL:结构化查询语言: 特点:不区分大小写:字符串用单引号引起来:语句结束用分号表示结束: 行注释,在语句的最前面加"--& ...

  8. iOS数据库操作之FMDB

    SQLite一种轻量级关系数据库,在嵌入式系统中使用比较广泛. 在iOS中使用SQLite需要添加库libsqlite3.0.dylib,并引入头文件#import <sqlite3.h> ...

  9. 【iOS数据持久化】数据库(SQLite.swift)和FMDB

    数据持久化之SQLite数据库(SQLite.swift使用) 一.     简介 SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了.它的处理速 ...

最新文章

  1. linux下使用inotify实时监控文件变更,做完整性检查
  2. docker-compose部署nginx,挂载外置配置文件及项目
  3. goland go test_Go单元测试实践一,快速上手
  4. SQL:两种获取时间类型日期部分的方法
  5. 手机端与pc端页面html5,浅谈pc和移动端的响应式的使用
  6. 创新者的窘境 PDF ——带完整书签
  7. 使用H-lua框架制作魔兽争霸地图(8-物编-物品绑定技能篇1)
  8. Python实现伽马矫正
  9. 幼儿园计算机信息技术培训总结,幼儿园教师信息技术培训总结
  10. Windows XP/2003序列号更换工具 1.0
  11. ZOJ-3939 The Lucky Week
  12. 八部众---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十三)
  13. uniapp之自定义顶部样式
  14. Ta,两年拿下了10亿美金
  15. sublime php 代码校验,Sublime Text下配置SublimeLinter进行PHP代码检查
  16. 算法的时间与空间复杂度(精细+举例)
  17. remap中的xmap,ymap详解
  18. 企业公众号做内容输出有哪些要点
  19. 【阅读】为何爱会伤人?
  20. 高中计算机多媒体技术应用教案,高中信息技术 多媒体技术应用教案 教科版选修.pdf...

热门文章

  1. IOS开发高手课第三篇 App Auto Layout 是怎么进行自动布局的,性能如何?
  2. Admin - 验证列表 ValidateList<E>
  3. Python文件处理os模块介绍 -*- Python基础知识12 -*-
  4. 保障出行安全|科力锐助力长沙黄花国际机场灾备建设
  5. 取消IE8打开HTTPS带图片内容后提示安全警告
  6. 华为云ModelArts文本分类–外卖评论(附详细图解)
  7. 模特赛马java课程设计_Thinking in Java---Concurrent包下的新构件学习+赛马游戏仿真...
  8. 申请一个免费美国手机号码
  9. opencv +Hog + SVM 车辆检测
  10. Theano2.1.12-基础知识之使用GPU