• FMDB基本应用


    1.打开数据库

    #import "ViewController.h"
    #import "FMDB.h"
    
    
    @interface ViewController ()
    
    @property (nonatomic, strong) FMDatabase *db;
    
    @end
    
    @implementation ViewController
    
    
    
    
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        
        //打开数据库
        [self dbOpen];
    
    
    }
    
    
    /**
     *  打开数据库
     */
    -(void)dbOpen
    {
        //1.获取数据库文件的路径
        NSString *doc=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
        
        NSString *fileName=[doc stringByAppendingPathComponent:@"toothGroup.sqlite"];
        
        NSLog(@"%@",fileName);
        
        
        //2.获得数据库
        FMDatabase *db=[FMDatabase databaseWithPath:fileName];
       
    
        //3.打开数据库
        if ([db open]) {
            
            //创建表的时候必须要有一个integer类型的,否则创建不成功
            
            NSString *create=@"create table if not exists t_group11(id integer primary key autoincrement,filename text NOT NULL,title text NOT NULL,price text NOT NULL,endTime text NOT NULL)";
            
            
            BOOL result=[db executeUpdate:create];
           
            
            if (result) {
                NSLog(@"创表成功");
            }
            else
            {
                NSLog(@"创表失败");
            }
            
        }
        
        self.db=db;
    }
    

    2.插入数据

    //往数据库插入数据 缓存数据
                    if ([self.db open]) {
                    
                    NSString *sql=[NSString stringWithFormat: @"INSERT INTO t_group11 (filename,title,price,endTime) VALUES('%@','%@','%@','%@')",dict[@"filename"],dict[@"title"],dict[@"price"],dict[@"endTime"]];
                        
                        BOOL result=[self.db executeUpdate:sql];
                       
                        
                        if (result) {
                            NSLog(@"插入成功");
                        }
                        else
                        {
                            NSLog(@"插入失败");
                        }
                        
                    }
    

    3.查询数据

    // 1.执行查询语句
        FMResultSet *resultSet = [self.db executeQuery:@"SELECT * FROM t_group11"];
        
        // 2.遍历结果
            while ([resultSet next]) {
                     int ID = [resultSet intForColumn:@"id"];
                
                NSString *filename=[resultSet stringForColumn:@"filename"];
                NSString *title=[resultSet stringForColumn:@"title"];
                 NSString *price=[resultSet stringForColumn:@"price"];
                 NSString *endTime=[resultSet stringForColumn:@"endTime"];
                
                    NSLog(@"%d %@ %@ %@ %@", ID, filename, title,price,endTime);
                }
    

    4.删除数据

    //删除表
                [self.db executeUpdate:@"DROP TABLE IF EXISTS t_group11"];
    
     
  • 相关阅读:
    富文本的使用
    sql
    # 多线程:为啥无法避免并发修改异常?(假设有两个线程,线程A,线程B),怎么避免并发修改异常?
    File&&字节流
    IO-字符流
    第二周疑问点
    异常
    常用API-Object+String
    学习JavaSE过程中的疑问点(第一周)
    JavaOOP
  • 原文地址:https://www.cnblogs.com/mojiewei/p/5467728.html
Copyright © 2020-2023  润新知