什么是FMDB
FMDB是iOS平台的SQLite数据库框架
FMDB以OC的方式封装了SQLite的C语言API
FMDB的优点
使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码
对比苹果自带的Core Data框架,更加轻量级和灵活
提供了多线程安全的数据库操作方法,有效地防止数据混乱
FMDB的github地址
https://github.com/ccgus/fmdb
建一个FMDB.h 包含其他的头文件。然后添加一个数据库吧
//添加数据库
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"User.db"];//拼接产生 数据库的 路径
_db = [[FMDatabase alloc]init];
_db = [FMDatabase databaseWithPath:dbPath] ;
if (![_db open]) {
NSLog(@"打开数据库失败");
assert(NO);
}
//给了表的名字 和 表里面含有的 2个元素
[_db executeUpdate:@"CREATE TABLE user(id text,password text)"];
查询找到 并找到第一个 内容的方法
//添加数据库
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"User.db"];//拼接产生 数据库的 路径
_db = [[FMDatabase alloc]init];
_db = [FMDatabase databaseWithPath:dbPath] ;
if (![_db open]) {
NSLog(@"打开数据库失败");
assert(NO);
}
//给了表的名字 和 表里面含有的 2个元素
[_db executeUpdate:@"CREATE TABLE user(id text,password text)"];
NSString *c=[_db stringForQuery:@"SELECT id FROM User WHERE id = ?",_account.text];
以上其中的_accout.text 是一个TextFlied 我们输入的内容 . User 为要查找的地方,id 是要查找的对象
插入的方法 :
NSString *a = _account.text;
NSString *b = _password.text;
[_db executeUpdate:@"INSERT INTO user(id,password)VALUES(?,?)",a,b];
NSLog(@"插入成功");
插入完记得关闭数据库。
NSString *a = _account.text;
NSString *b = _password.text;
[_db executeUpdate:@"INSERT INTO user(id,password)VALUES(?,?)",a,b];
NSLog(@"插入成功");
怎么取一条 数据 比如 用户名+密码 ,根据用户名来取密码
FMResultSet *rs = [_db executeQuery:@"select * from user"];
while ([rs next]) {
_passwordString = [rs stringForColumn:@"password"];
}
以上 是一条 一条取得,如果不是一条 最好 用数组和字典来存。
FMResultSet *rs = [_db executeQuery:@"select * from user"];
while ([rs next]) {
_passwordString = [rs stringForColumn:@"password"];
}