zoukankan      html  css  js  c++  java
  • 数据库增删改查代码

    -(NSArray *)getAllStundets

    {

        //1创建临时集合 存储学生信息

        NSMutableArray *arr = [NSMutableArray arrayWithCapacity:20];

        //2打开数据库

        sqlite3 *sql = [DBManager openDB];

        //3执行命令语句

        sqlite3_stmt *stmt;

        //4预处理操作 查询表里的所有记录

        if (sql!=nil) {

            

        

        int num = sqlite3_prepare_v2(sql, "select * from student", -1, &stmt, nil);

        //5是否可以操作表

        if (num == SQLITE_OK) {

            //6循环便利表中的记录 即检索每一行

            while ( SQLITE_ROW == sqlite3_step(stmt)) {

                //7根据指定索引找到指定行的信息

                int stuid = sqlite3_column_int(stmt, 0);

                NSString *stuname = [NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 1)];

                 NSString *stupwd = [NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 2)];

                //8创建临时学生类型对象

                Student *stu = [[Student alloc] init];

                //9将数据表中的信息 存储到实体类的属性中

                stu.stuid = stuid;

                stu.stuname = stuname;

                stu.stupwd = stupwd;

                //将试题类型添加到数组中

                

               

                [arr addObject:stu];

                

            }

        }

        }

        //10返回集合信息,即一组 学生类型的集合

        

        return arr;

    }

    -(BOOL)addStudents:(Student *)stu

    {

        BOOL bol = NO;

        sqlite3 *sql = [DBManager openDB];

        sqlite3_stmt *stmt;

        int num  = sqlite3_prepare_v2(sql, "insert into student(stuname,stupwd) values(?,?)", -1, &stmt, nil);

        sqlite3_bind_text(stmt, 1, [stu.stuname UTF8String], -1, nil);

        sqlite3_bind_text(stmt, 2, [stu.stupwd UTF8String], -1, nil);

        if (num == SQLITE_OK) {

            if (SQLITE_DONE == sqlite3_step(stmt)) {

                bol = YES;

            }

        }

        return bol;

    }

    -(BOOL)updateStudents:(Student *)stu

    {

        BOOL bol = NO;

        sqlite3 *sql = [DBManager openDB];

        sqlite3_stmt *stmt;

        int ret = sqlite3_prepare_v2(sql, "update student set stuname = ?, stupwd = ? where stuid = ? ", -1, &stmt, nil);

        

        sqlite3_bind_text(stmt, 1, [stu.stuname UTF8String], -1, nil);

         sqlite3_bind_text(stmt, 2, [stu.stupwd UTF8String], -1, nil);

        sqlite3_bind_int(stmt, 3, stu.stuid);

        if (ret == SQLITE_OK) {

            if (SQLITE_DONE == sqlite3_step(stmt)) {

                bol = YES;

            }

        }

        

        return bol;

    }

    -(BOOL)removeStundets:(Student *)stu

    {

        BOOL bol = NO;

        sqlite3 *sql = [DBManager openDB];

        sqlite3_stmt *stmt;

        int ret = sqlite3_prepare_v2(sql, "delete from student where stuname = ? or stupwd = ? or stuid = ?", -1, &stmt, nil);

        sqlite3_bind_text(stmt, 1, [stu.stuname UTF8String], -1, nil);

        sqlite3_bind_text(stmt, 2, [stu.stupwd UTF8String], -1, nil);

        sqlite3_bind_int(stmt, 3, stu.stuid);

        if (ret == SQLITE_OK) {

            if (SQLITE_DONE == sqlite3_step(stmt)) {

                bol = YES;

            }

        }

        return bol;

    }

  • 相关阅读:
    java动态代理(JDK和cglib实现对比)
    SynchronizedMap和ConcurrentHashMap 区别
    Spring五个事务隔离级别和七个事务传播行为
    Java 得到磁盘以及内存信息
    java Properties类得到当前的系统属性
    Java Runtime 详解
    java多线程设计模式
    java 得到以后的日期
    apache 配置
    centos7 安装keepalived
  • 原文地址:https://www.cnblogs.com/wujie123/p/5313469.html
Copyright © 2011-2022 走看看