FMDB在iOS中的应用

这是一个sqlite的objective-c的封装库,简单易用。

 

首先,将附件中的文件加入到项目中,并在头文件中加入以下代码:

 

#import "FMDatabase.h"

 

然后,在Frameworks中导入libsqlite3.0.dylib。

 

1、实例化一个FMDatabase对象,并打开一个数据库,如果没有这个数据库,则会创建一个数据库

 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];
FMDatabase *db= [FMDatabase databaseWithPath:dbPath] ;
if (![db open]) {
    [db release];
    return ;
}

 

2、创建表

 

[db executeUpdate:@"CREATE TABLE Users(Name text, Age integer)"];

 

3、插入数据

 

[db executeUpdate:@"INSERT INTO Users(Name, Age) VALUES(?, ?)", @"Eric", [NSNumber numberWithInt:25]]

 

4、更新数据

 

[db executeUpdate:@"UPDATE Users SET Name = ? WHERE Name = ? ", @"Michael", @"Eric"];

 

5、删除数据

 

[db executeUpdate:@"DELETE FROM Users WHERE Name = ?", @"Michael"];

 

6、查询数据

 

NSString *userName = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];

 

这样就查询返回了一条数据,如果查询返回多条数据怎么办呢?

 

FMResultSet是一个结果集,返回多条数据时,FMDB会将数据放在这个结果集中,然后再对这个结果集进行查询操作即可。

 

FMResultSet *rs = [db executeQuery:@"SELECT * FROM Users"];
rs = [db executeQuery:@"SELECT * FROM Users WHERE Age = ?", @"25"];
while ([rs next]){
  NSLog(@"%@ %@", [rs stringForColumn:@"Name"], [rs stringForColumn:@"Age"]);
}
[rs close];
 

FMDB地址:https://github.com/ccgus/fmdb

你可能感兴趣的:(ios,iPhone,FMDB)