ios 数据库 (FMDB使用)

xiaoxiao2025-07-11  10

下面我们用单例全局来学习下FMDB的简单使用:首先我创建如下图 方便演示 下面开始使用 一 、首先创建一个单例类 LHDataBaseManager 创建单例 LHDataBaseManager.m 中 1 、创建单例

+ (instancetype)shareManager { static dispatch_once_t onceToken; static LHDataBaseManager * dataBaseManager = nil; dispatch_once(&onceToken, ^{ dataBaseManager = [[LHDataBaseManager alloc] init]; }); return dataBaseManager; }

2 、创建数据库和表

/** 创建数据库和表 */ - (void)createDataBaseAndTable { NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; //拼接文件名 NSString * sqlitPath = [path stringByAppendingPathComponent:@"LHDataBase.sqlite"]; NSLog(@"数据库路径:%@",sqlitPath); //创建数据库,加入到队列中 self.db = [FMDatabase databaseWithPath:sqlitPath]; if ([self.db open]) { BOOL result = [self.db executeUpdate:@"create table if not exists t_user (id integer primary key autoincrement,name text,content text)"]; if (result) { NSLog(@"t_user表创建成功"); } else { NSLog(@"t_user表创建失败"); } } else { NSLog(@"数据库打开失败"); } }

3、实现增、删、改、查

/** 新增数据 @param name 姓名 @param content 爱好 */ -(void)insetName:(NSString *)name content:(NSString *)content { BOOL result = [self.db executeUpdate:@"insert into t_user (name,content) values (?,?)",name,content]; if (result) { NSLog(@"新增数据成功 名字:%@",name); } else { NSLog(@"新增数据失败"); } } /** 删除数据 @param name 名字 */ - (void)deleteDataByName:(NSString *)name { BOOL result = [self.db executeUpdate:@"delete from t_user where name = ?",name]; if (result) { NSLog(@"删除数据成功"); } else{ NSLog(@"删除数据失败"); } } /** 更新数据 @param name 更新的名字 @param content 更新的内容 */ - (void)updataDataWithName:(NSString *)name content:(NSString *)content { BOOL result = [self.db executeUpdate:@"update t_user set content = ? where name = ?",content,name]; if (result) { NSLog(@"更新成功"); } else { NSLog(@"更新失败"); } } /** 查询数据 @return 返回查询到的数据 */ - (NSMutableArray *)selectAllContent { NSMutableArray * array = [NSMutableArray array]; FMResultSet * setResult = [self.db executeQuery:@"select * from t_user"]; while ([setResult next]) { //先将数据存放到字典 NSMutableDictionary *dic = [NSMutableDictionary dictionary]; [dic setObject:[setResult stringForColumn:@"name"] forKey:@"name"]; [dic setObject:[setResult stringForColumn:@"content"] forKey:@"content"]; //然后将字典存放到数组 [array addObject:dic]; } return array; }

LHDataBaseManager.h 中

/** 创建数据库和表 */ - (void)createDataBaseAndTable; /** 创建对象 @return 返回LHDataBaseManager 对象 */ + (instancetype)shareManager; /** 删除数据 @param name 名字 */ - (void)deleteDataByName:(NSString *)name; /** 查询数据 @return 返回查询到的数据 */ - (NSMutableArray *)selectAllContent; /** 更新数据 @param name 更新的名字 @param content 更新的内容 */ - (void)updataDataWithName:(NSString *)name content:(NSString *)content; /** 新增数据 @param name 姓名 @param content 爱好 */ -(void)insetName:(NSString *)name content:(NSString *)content;

二 、对单例类使用 1、插入

[[LHDataBaseManager shareManager] insetName:nameTextField.text content:contentTextField.text];

执行效果

插入成功 ; 2、查询

[[LHDataBaseManager shareManager] selectAllContent]

3、修改 将姓名E 对应的爱好更新为R

[[LHDataBaseManager shareManager] updataDataWithName:nameTextField.text content:contentTextField.text];

4、删除E的内容

[[LHDataBaseManager shareManager] deleteDataByName:nameTextField.text];

以上就完成了对 FMDB的简单使用 附带代码

csdn demo 或点击链接 https://download.csdn.net/download/u013983033/10746753 github demo 或点击链接 https://github.com/lvhome/FMDBDemo

转载请注明原文地址: https://www.6miu.com/read-5032918.html

最新回复(0)