- 1,拿到数据库文件的路径
- self.path = NSHomeDirectory();
- self.path = [path stringByAppendingPathComponent:@"Documents/data.db"];
- 2,拿到数据库对象,打开数据库,如果这个数据库不存在,就会自动创建
- FMDatabase* db = [FMDatabase databaseWithPath:path];
- BOOL res = [db open];
- if (res == NO) {
- NSLog(@"打开失败");
- return;
- }else{
- NSLog(@"数据库打开成功");
- }
- 3,//如果表不存在,创建
- res = [db executeUpdate:@"create table if not exists Students(name,score,image)"];//执行sql语句
- if (res == NO) {
- NSLog(@"创建失败");
- [db close];//关闭数据库
- return;
- }else if(res==YES){
- NSLog(@"创建成功");
- }
- 4,表创建成功之后,就进行增删改查的操作:
- 1>,插入数据
- res = [db executeUpdate:@"insert into Students values (?,?,?)", name, num, headData];
- if (res == NO) {
- NSLog(@"插入失败");
- }
- [db close];
- 2>,删除操作:
- - (void)del:(id)sender{
- FMDatabase* db = [FMDatabase databaseWithPath:path];
- //打开数据库
- BOOL res = [db open];
- //如果失败,退出方法
- if (res == NO) {
- NSLog(@"打开失败");
- return;
- }
- //删除
- res = [db executeUpdate:@"delete from Students where name=?",nameField.text];
- if (res == NO) {
- NSLog(@"删除失败");
- }
- [db close];
- }
- 3>,更新操作:
- - (void)update:(id)sender{
- FMDatabase* db = [FMDatabase databaseWithPath:path];
- BOOL res = [db open];
- if (res == NO) {
- NSLog(@"打开失败");
- return;
- }
- NSNumber* num = [NSNumber numberWithInt:[scoreField.text intValue]];
- res = [db executeUpdate:@"update Students set score=? where name=?", num, nameField.text];
- if (res == NO) {
- NSLog(@"修改失败");
- }
- [db close];
- }
- 4>,查询操作:
- <span> </span>
- - (void)fetch:(id)sender{
- FMDatabase* db = [FMDatabase databaseWithPath:path];
- BOOL res = [db open];
- if (res == NO) {
- NSLog(@"打开失败");
- return;
- }
- FMResultSet* set = [db executeQuery:@"select * from Students"];//FMResultSet相当于游标集
- //创建数组,保存所有学生信息
- NSMutableArray* array = [NSMutableArray arrayWithCapacity:0];
- //遍历Students表
- while ([set next]) {//有下一个的话,就取出它的数据,然后关闭数据库
- //姓名
- NSString* name = [set stringForColumn:@"name"];
- //成绩
- int score = [set intForColumnIndex:1];
- //照片
- NSData* data = [set dataForColumnIndex:2];
- //float a = [[set objectForColumnIndex:3] floatValue];
- UIImage* image = [UIImage imageWithData:data];
- StudentItem* student = [[StudentItem alloc] init];
- student.name = name;
- student.score = score;
- student.image = image;
- [array addObject:student];
- [student release];
- }
- [db close];
IOS第三方数据库FMDatabase的简单使用
最新推荐文章于 2023-11-05 18:59:51 发布