zoukankan      html  css  js  c++  java
  • FMDB----SQL----数据库

    #pragma mark -- 数库

    - (void)createDatabase{

        //路径

        NSString *path = [NSString stringWithFormat:@"%@/Documents/maxueshan.db",NSHomeDirectory()];

        //创建

        _database = [[FMDatabase alloc]initWithPath:path];

        

        //打开

        [_database open];

        

        NSLog(@"%@",path);

        

    }

    //重写析构方法   ,  不能写 [super dealloc]

    - (void)dealloc{

        

        //关闭数据库

        [_database close];

        

    }

     

    #pragma mark -- 创建表格

    - (void)createTable{

        

        NSString *sql = @"create table if not exists Student(stuName text,stuAge text, stuSex text)";

        BOOL isSuccess = [_database executeUpdate:sql];

        if (isSuccess) {

            NSLog(@"table表格创建成功");

        }else {

            NSLog(@"table表格创建失败");

        }

        

    }

    //

    - (void)insertDataWithArray:(NSArray *)array{

        

        if (array.count == 0) {

            //数组为空,没有模型

            return;

        }

        //1.SQL语句  拼接

        NSString *sql = @"insert into Student values(?,?,?)";

        //2.遍历数组

        for (StudentModel *model in array) {

            //

            [_database executeUpdate:sql,model.stuName,model.stuAge,model.stuSex];

            

        }

        

    }

     

    //

    - (void)deleteDataWithArray:(NSArray *)array{

        

        if (array.count == 0) {

            return ;

        }

        

        

        NSString *sql = @"delete from Student where stuName=? and stuAge=? and stuSex=?";

        for (StudentModel *model in array) {

            [_database executeUpdate:sql,model.stuName,model.stuAge,model.stuSex];

     

        }

        

        

    }

     

    //

    - (BOOL)updateDataWithSourceModle:(StudentModel *)sourceModel andNewModel:(StudentModel *)newModel{

        

        if (sourceModel && newModel) {

            //两个模型都不为空时,才执行 数据的修改

            

            NSString *sql = @"update Student set stuName=? , set stuAge=? , set stuSex=? where stuName=? and stuAge=? and stuSex=?";

           BOOL isSuccess = [_database executeUpdate:sql,newModel.stuName,newModel.stuAge,newModel.stuSex,sourceModel.stuName,sourceModel.stuAge,sourceModel.stuSex];

            

            return isSuccess;

     

        }

        return NO;

    }

     

     

    //

    - (NSArray *)selectAllDatas{

        //1.数组,接收模型

        NSMutableArray *dataArr = [NSMutableArray array];

        

        //2.sql 语句

        NSString *sql = @"select *from Student";

        //3.查询

         FMResultSet *set = [_database executeQuery:sql];

        //4.遍历,分装模型

        while ([set next]) {

            NSString *name = [set stringForColumn:@"stuName"];

            NSString *age  = [set stringForColumn:@"stuAge"];

            NSString *sex  = [set stringForColumn:@"stuSex"];

            

            NSDictionary *dic = @{@"stuName":name,@"stuAge":age,@"stuSex":sex};

            

            StudentModel *model = [StudentModel createModelWithDic:dic];

            

            [dataArr addObject:model];

            

        }

        

        return dataArr;

    }

    //姓名

    - (NSArray *)selectForName:(NSString *)name {

        

        if (name.length == 0) {

            return nil;

        }

        NSMutableArray *dataArr = [NSMutableArray array];

        NSString *sql = @"select * form Student where stuName=? ";

        FMResultSet *set = [_database executeQuery:sql,name];

        

        while ([set next]) {

            NSString *name = [set stringForColumn:@"stuName"];

            NSString *age = [set stringForColumn:@"stuAge"];

            NSString *sex = [set stringForColumn:@"stuSex"];

            

            

            NSDictionary *dic = @{@"stuName":name,@"stuAge":age,@"stuSex":sex};

            

            StudentModel *model = [StudentModel createModelWithDic:dic];

            

            [dataArr addObject:model];

        }

        

        return dataArr;

    }

  • 相关阅读:
    使用 Sublime、WebStorm 开发 Jade
    3-微信小程序开发(小程序的目录结构说明)
    1-微信小程序开发(安装软件和运行第一个微信小程序)
    29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)
    28-ESP8266 SDK开发基础入门篇--编写wifi模块TCP 客户端程序(官方API版,非RTOS版)
    27-ESP8266 SDK开发基础入门篇--编写Android SmartConfig一键配网程序
    26-ESP8266 SDK开发基础入门篇--编写WIFI模块 SmartConfig/Airkiss 一键配网
    25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器
    17-网页,网站,微信公众号基础入门(使用Adobe Dreamweaver CS6 制作网页/网站)
    15-网页,网站,微信公众号基础入门(网页版MQTT,做自己的MQTT调试助手)
  • 原文地址:https://www.cnblogs.com/daxueshan/p/6687483.html
Copyright © 2011-2022 走看看