FMDB使用

基础

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentDirectory = [paths objectAtIndex:0];

NSString *dbPath = [documentDirectory stringByAppendingPathComponents:@"student.db"];

FMDatabase *db = [FMDatabase databaseWithPath:dbPath];

if(![db open]) {
  return;
}

新建表

[db executeUpdate:@"CREATE TABLE PersonList (Name text, Age integer, Sex integer, Phone text, Address text, Photo blob)];

插入数据

[db executeUpdate:@"INSERT INTO PersonList(Name, Age, Sex, Phone, Address, Photo) VALUES(?,?,?,?,?,?)",
  @"Xemtof",[NSNumber numberWithInt:20],@0,@"1888888888",@"Shanghai",[NSData dataWithContentsOfFile:filePath]
];

在SQLite中数据对应的关系如下

SQlite OC
text NSString
integer NSNumber
blob NSDate

获取数据

FMResultSet *rs = [db executeQuery@"SELECT Name, Age FROM PersonList"];
while([rs next])
{
  NSString *name = [rs stringForColumn:@"Name"];
  int age = [rs intForColumn:@"Age"];
}
[rs close];

快速获取数据

NSString *address = [db stringForQuery:@"SELECT Address FROM PersonList WHERE Name=?", @"xemtof"];

int age = [db intForQuery:@"SELECT Age FROM PersonList WHERE Name=?", @"xemtof"];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,422评论 25 708
  • 框架地址:[https://github.com/ccgus/fmdb] 下载框架Snip20160912_6.p...
    coder_hong阅读 1,405评论 0 2
  • 本人ios初学者,为自己学习方便,复制各位大神的学习性文章放在自己简书里,仅作为自己学习方便使用,如果作者疑此行为...
    bu再等阅读 1,152评论 0 3
  • 设计模式是解决一类通用问题的方式。 设计模式可以增加代码复用性。 设计模式已经演变成一种标准语言。 设计模式是思路...
    Perry_wang阅读 191评论 0 0
  • 人的命,天注定? 2006-04-28 22:25:00 人们常说:“人的命,天注定”,真的是这样吗?如果是的话...
    且听风吟_64d0阅读 498评论 0 0