FMDB
来源:互联网 发布:协方差矩阵的svd分解 编辑:程序博客网 时间:2024/04/28 22:45
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”];
}
- FMDB
- FMDB
- FMDB
- FMDB
- FMDB
- fmdb
- FMDB
- FMDB
- fmdb
- FMDB
- FMDB
- fmdb
- FMDB
- FMDB
- FMDB
- FMDB
- FMDB
- FMDB
- android 打开pdf文件
- Dialog 1
- mysql 命令符操作登陆 展开 查看对象 查看数据表名称 数据表结构 插入
- 我所理解的cocos2dx屏幕适配
- 应用Polygon功能的客户代码
- FMDB
- //编写一个程序,显示用户输入的一个日期是该年度的第几天。
- Shape文件导入featuredataset要素数据集
- SharePoint2013 IT Professional - Anonymous Access 匿名访问
- Android 6.0敏感权限新特性及使用方法
- spring学习笔记(13)基于Schema配置AOP详解
- SVN客户端和服务端安装 详解
- 手机/移动前端开发需要注意的20个要点
- AngularJS Directive For Mouse Wheel Scroll Event