这是一个sqlite的objective-c的封装库,简单易用。主要的类也就两个:FMDatabase和FMResultSet。FMDB的github地址是,https://github.com/ccgus/fmdb。
首先,将附件中的文件加入到项目中,并在头文件中加入以下代码:#import “FMDatabase.h”
然后,在Frameworks中导入libsqlite3.0.dylib。
关键代码如下:
//ios下Document路径,Document为ios中可读写的文件夹
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
//dbPath: 数据库路径,在Document中。
NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@”Test.db”];
//创建数据库实例 db 这里说明下:如果路径中不存在“Test.db”的文件,sqlite会自动创建“Test.db”
FMDatabase *db= [FMDatabase databaseWithPath:dbPath] ;
if (![db open]) { NSLog(@”Could not open db.”); return ; }
//创建一个名为User的表,有两个字段分别为integer类型的 user_id(主键,自增列),string类型的Name,integer类型的 Age
[db executeUpdate:@”CREATE TABLE users (user_id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Age INTEGER)”];
//插入数据使用OC中的类型 text对应为NSString integer对应为NSNumber的整形
[db executeUpdate:@”INSERT INTO users (Name,Age) VALUES (?,?)”,@”老婆“,[NSNumber numberWithInt:20]];
[db executeUpdate:@”INSERT INTO users (Name,Age) VALUES (?,?)”,@”朋友“,[NSNumber numberWithInt:21]];
//更新数据 将“朋友”更改为“宝贝”
[db executeUpdate:@”UPDATE users SET Name = ? WHERE user_id = ? “,@”宝贝“,@”2″];
//删除数据
//[db executeUpdate:@”DELETE FROM users WHERE user_id = ?”,@”2″];
//查询返回数据
FMResultSet *rs=[db executeQuery:@”SELECT * FROM users”];
//rs=[db executeQuery:@”SELECT * FROM User WHERE Age = ?”,@”20″];
while ([rs next]){
NSLog(@”%@ %@”,[rs stringForColumn:@”Name”],[rs stringForColumn:@”Age”]);
}
demo下载地址:http://www.kuaipan.cn/file/id_82777686379857088.htm