FMDB使用事项

FMDB使用事项

1.创建数据库

#import "FMDatabase.h"

引用 FMDB文件,我下载的这个FMDB中所有的引用已经集成在这一个文件中了

NSString * documentPath =[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];

首先获取document文件夹位置,据说是应为iOS只有这个文件才能放东西,我随便写的绝对路径貌似没有用

NSString * realPath = [documentPath stringByAppendingPathComponent:@"test.sqlite"];

这里设定数据库的名字

 FMDatabase * db = [FMDatabase databaseWithPath:realPath];

这个时候,就已经实例化了一个DB,也相当于拿到了数据库的操作对象
这里提醒下各位,记住这个地址,防止后面应为数据库的名称和路径导致操作失败,

2.打开数据库

[db open]
NSString * sqlimage = @"create table Image (ID int primary key AUTO_INCREMENT ,ReadingDetailID varchar(200) null , photo varchar(200) null ) ";
BOOL res = [db executeUpdate:sql];

3.操作数据库

执行创建表单操作,使用 executeUpdate这个函数,这个函数是用来更新数据库的,包括插入和更新,返回BOOL类型,很便于操作

NSString * arrsql =[NSString stringWithFormat: @"select * from MeterRead where ReadingDetailID = %@ ",self.arrDown[i][@"ReadingDetailID"]];
FMResultSet * rs = [db executeQuery:arrsql];
使用executeQuery用来查询,返回的是一个FMResultSet ,
     while ([rs next]) {
     NSDictionary * meterdic = @{@"ReadingDetailID":[rs stringForColumn:@"ReadingDetailID"],
                                 @"UserWaterMeterCode":[rs stringForColumn:@"UserWaterMeterCode"],
                                 @"UserName":[rs stringForColumn:@"UserName"]};
     [self.arrMeterRead addObject:meterdic];
     }

大家都看到了把,这个FMResultSet自带的方法中有stringForColumn这种函数来取指定数值,如果我们需要返回的全部数据,这样是很不方便的, resultDictionary他有这种方式,直接转换字典,
//用数组arr保存一条记录转成的字典

[arr addObject:[rsnull resultDictionary]];

* intForColumn:
* longForColumn:
* longLongIntForColumn:
* boolForColumn:
* doubleForColumn:
* stringForColumn:
* dateForColumn:
* dataForColumn:
* dataNoCopyForColumn:
* UTF8StringForColumnIndex:
* objectForColumn:

将单一数据取出的其他方式,很多种数据方式
4.关闭数据库


最后

[db close];

这样所有FMDB创建的都会自动消除了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 早上看到一则新闻:一名远嫁的女子在坐月子期间,因琐事与婆婆发生矛盾,被婆婆赶出家门,身无分文流落车站,暗自哭泣。好...
    雪苑梅阅读 483评论 0 0
  • 博客开通了好久,却没有好好写写东西,就像做了好久的攻略,却迟迟没有启程一样,你是否也在这个漩涡里,期待远方,幻...
    Yetta姑娘阅读 263评论 0 0

友情链接更多精彩内容