[self.db executeUpdate:@"create table test (a text, b text, c integer, d double, e double)"];

我们创建一个表格text,可以很清楚的看到其字段对应的数据类型:

数据类型:
TEXT:字符串类型。
INTEGER:整型。
REAL:浮点型(double、float)。
BLOB:二进制数据

关于 ‘?’:FMDB中 ‘?’ 表示对象占位符,不能用来占位基本数据类型!!

那么我们插入数据的时候,可以先把浮点型等转为对象类型,再用 ‘?’ 占位,插入数据。

e.g.

    int i = ;
while (i++ < ) {
[self.db executeUpdate:@"insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)" ,
@"hi'",
[NSString stringWithFormat:@"number %d", i],
[NSNumber numberWithInt:i],
[NSDate date],
[NSNumber numberWithFloat:2.2f]];
}
[self.db commit];

查询结果:

FMResultSet *rs = [self.db executeQuery:@"select rowid,* from test where a = ?", @"hi'"];
while ([rs next]) {
NSLog(@"%d %@ %@ %@ %@ %f %f",
[rs intForColumn:@"c"],
[rs stringForColumn:@"b"],
[rs stringForColumn:@"a"],
[rs stringForColumn:@"rowid"],
[rs dateForColumn:@"d"],
[rs doubleForColumn:@"d"],
[rs doubleForColumn:@"e"]);
}

打印:

-- ::30.629 学习数据库[:]  number  hi' 1 2016-04-10 03:39:30 +0000 1460259570.625429 2.200000
-- ::30.630 学习数据库[:] number hi' 2 2016-04-10 03:39:30 +0000 1460259570.625830 2.200000
-- ::30.630 学习数据库[:] number hi' 3 2016-04-10 03:39:30 +0000 1460259570.625919 2.200000
-- ::30.631 学习数据库[:] number hi' 4 2016-04-10 03:39:30 +0000 1460259570.625952 2.200000
-- ::30.631 学习数据库[:] number hi' 5 2016-04-10 03:39:30 +0000 1460259570.625980 2.200000
-- ::30.631 学习数据库[:] number hi' 6 2016-04-10 03:39:30 +0000 1460259570.626003 2.200000
-- ::30.631 学习数据库[:] number hi' 7 2016-04-10 03:39:30 +0000 1460259570.626023 2.200000
-- ::30.631 学习数据库[:] number hi' 8 2016-04-10 03:39:30 +0000 1460259570.626044 2.200000
-- ::30.632 学习数据库[:] number hi' 9 2016-04-10 03:39:30 +0000 1460259570.626063 2.200000
-- ::30.632 学习数据库[:] number hi' 10 2016-04-10 03:39:30 +0000 1460259570.626083 2.200000

总结:我们创表时指定字段a为整型,当我们插入数据时可以将其包裹为对象插入数据库,并不影响我们的插入结果!!而且针对对象类型,占位符最好使用 '?',因为其默认已经添加了单引号 ''。

尊重作者劳动成果,转载请注明: 【kingdev】

FMDB中的数据处理的更多相关文章

  1. Struts中的数据处理的三种方式

    Struts中的数据处理的三种方式: public class DataAction extends ActionSupport{ @Override public String execute() ...

  2. ajax请求返回数据,模板中的数据处理

    /*ajax请求返回数据,模板中的数据处理*/ function QueryGameAsset(){ var new_start_time=$('#new_start_time').val();//开 ...

  3. R语言中的数据处理包dplyr、tidyr笔记

    R语言中的数据处理包dplyr.tidyr笔记   dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了 ...

  4. Delphi中ComPort通信中的数据处理

    源: Delphi中ComPort通信中的数据处理

  5. FMDB中 databaseWithPath 的使用问题

    阅读fmdb的源码文件(下载地址http://github.com/ccgus/fmdb)会发现下面一段注释,里面提到的创建数据库的方法也在很多博客中被引用,但是跑代码的时候发现,文件并不会像文档中所 ...

  6. Hadoop 1.0 和 2.0 中的数据处理框架 - MapReduce

    1. MapReduce - 映射.化简编程模型 1.1 MapReduce 的概念 1.1.1 map 和 reduce 1.1.2 shufftle 和 排序 MapReduce 保证每个 red ...

  7. python 机器学习中的数据处理学习记录

    在机器学习中,选择合适的算法固然重要,但是数据的处理也同样重要.通过对数据的处理,能提高计算效率,提高预测识别精确度等等 以下记录下一些数据处理的方法 一.处理缺失值 对于数据集中有缺失值的,粗暴的方 ...

  8. FMDB中常用SQL使用

    大家工作中,最常用到的无非是 增.删.查.改... 在SQL中对应的语句为:INSERT DELETE SELECT UPDATE 首先,你可以使用一款叫做“sqlite database brows ...

  9. 海康威视实时预览回调PS流用EasyRTMP向RTMP服务器推流中视频数据处理的代码

    在上一篇方案<EasyRTMP结合海康HCNetSDK获取海康摄像机H.264实时流并转化成为RTMP直播推流(附源码)>我们介绍了将海康安防摄像机进行互联网直播的整体方案流程,其中有一个 ...

随机推荐

  1. 16.创建与操纵表--SQL

    一.新建表 利用CREA TE TA BLE创建表,必须给出下列信息: 新表的名字,在关键字CREA TE TA BLE之后给出: 表列的名字和定义,用逗号分隔: 有的DBMS还要求指定表的位置. C ...

  2. Hive进阶_Hive数据查询

    简单查询和fetch task 简单查询:   简单查询的 fetch task 功能,从HDFS拉取,不用map reduce. 前两种配置,当前session有效.修改hive-site.xml永 ...

  3. Zepto核心模块源代码分析

    一.Zepto核心模块架构 Zepto核心模块架构图 该图展示了Zepto核心模块架构代码的组织方式.主要分为私有变量.函数和暴露给用户的所有api. Zepto核心模块架构代码 该图展示了Zepto ...

  4. Linux大棚版vimrc配置

    Linux大棚版vimrc配置—V2.0版本,如下: [shell] $cat .vimrc “== “Author :roc “Website:roclinux.cn “Version:2.0 “= ...

  5. 今天测试发现qwebsocket有个bug

    发现命令使用时间久了就会丢失mask,mask设置成0,而websocket协议要求客户端给服务器传东西必须带mask=1,发现确实有个bug,代码如下: 文件:src/websockets/qweb ...

  6. 像音乐播放App一样移动背景

    如果你经常听歌,你会发现歌曲app的背景会随着音乐移动的,从左到右或者从上到下,这种动画虽然简单,但是这里有一个技巧.如果你还不明白这种动效看看下面的demo (更多详细请参考:https://git ...

  7. Java 反射机制(一)

    阅读<Core Java Volume I --- Fundamentals>反射部分,总觉得许多概念艰涩难懂.模棱两可.我想造成这个结果的主要原因可能是Cay S. Horstmann和 ...

  8. SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION”

    SQL Server 2017的Linked Server配置触发的bug"Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION&q ...

  9. 【虚拟机-网络IP】保留正在使用的 VIP

    本文包含以下内容 适用场景 操作步骤 保留IP的费用 适用场景 我们希望云服务有一个固定的 IP,即使虚拟机以 deallocated 的方式关闭. 用户忘记先保留 VIP 而直接完成了部署. 希望不 ...

  10. BZOJ 1137: [POI2009]Wsp 岛屿 半平面交

    1137: [POI2009]Wsp 岛屿 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 165  Solved: ...