SQLITE的增删改查的简单运用举例

//数据库的增加操作

-(void)addDate

{

    NSLog(@"增加");

//    唯一数据库,存储数据库指针

    sqlite3 *db;

//    创建执行命令对象

    sqlite3_stmt *stmt;

//    根据指定文件路径打开数据库

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

//    执行预处理命令,返回一个int类型的值,返回0 则可执行命令,返回其他 不可执行,语句里面的参数 db :数据库指针  "insert into students (stuname,stupro,stunum,stupwd,stuadd,stuage) values(?,?,?,?,?,?)":sql语句,数据库的增加操作  -1:sql语句的长度,如果为负的,自动计算sql语句长度,把sql语句当成以\0结尾的字符串)。  &stmt:是sqlite3_stmt 的指针的指针。解析以后的sql语句就放在这个结构里

    int rst=sqlite3_prepare_v2(db, "insert into students (stuname,stupro,stunum,stupwd,stuadd,stuage) values(?,?,?,?,?,?)", -1, &stmt, nil);

//    绑定数据信息 注意:这里的数字1,2,3,4,5,6,代表 执行预处理命令语句中的 ?的位置

    sqlite3_bind_text(stmt, 1, "lisi", -1, nil);

    sqlite3_bind_text(stmt, 2, "jixie", -1, nil);

    sqlite3_bind_text(stmt, 3, "15899343588", -1, nil);

    sqlite3_bind_text(stmt, 4, "98836", -1, nil);

    sqlite3_bind_text(stmt, 5, "chongqing", -1, nil);

    sqlite3_bind_text(stmt, 6, "26", -1, nil);

//    返回0 可以执行命令

    if (rst==SQLITE_OK) {

//        执行完成

        if (SQLITE_DONE==sqlite3_step(stmt)) {

            NSLog(@"添加成功");

        }

    } else {

        NSLog(@"添加失败");

    }

}

//数据库的删除操作

-(void)deleteDate

{

    NSLog(@"删除");

//    创建唯一数据库,存储数据库指针

    sqlite3 *db;

//    创建执行命令

    sqlite3_stmt *stmt;

//    根据指定数据库文件路径打开数据库

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

    //    执行预处理命令,返回一个int类型的值,返回0 则可执行命令,返回其他 不可执行,语句里面的参数1 db :是个sqlite3 * 类型变量   参数2 "delete from students where stuid=1":sql语句,数据库的删除操作  参数3  -1:sql语句的长度,如果为负的,自动计算sql语句长度,把sql语句当成以\0结尾的字符串)。  参数4 &stmt:是sqlite3_stmt 的指针的指针。解析以后的sql语句就放在这个结构里

    int rst=sqlite3_prepare_v2(db, "delete from students where stuid=1", -1, &stmt, nil);

    if (rst==SQLITE_OK) {

        if (SQLITE_DONE==sqlite3_step(stmt)) {

            NSLog(@"删除成功");

        }

    } else {

        NSLog(@"删除失败");

    }

 

}

//数据库的修改操作

-(void)updateDate

{

    NSLog(@"修改");

    

    sqlite3 *db;

    sqlite3_stmt *stmt;

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

//    "update students set stuname='mmm' ,stuage='100' where stuid=4" sql语句 数据库的修改操作

    int rst = sqlite3_prepare_v2(db, "update students set stuname='mmm' ,stuage='100' where stuid=4", -1, &stmt, nil);

    if (rst==SQLITE_OK) {

        if (SQLITE_DONE==sqlite3_step(stmt)) {

            NSLog(@"修改成功");

        }

    } else {

        NSLog(@"修改失败");

    }

}

//数据库的全局查询操作

-(void)selectDate

{

    NSLog(@"查询");

    

    sqlite3 *db;

    sqlite3_stmt *stmt;

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

//    "select *from students" sql语句 数据库的查询操作

    int rst=sqlite3_prepare_v2(db, "select *from students", -1, &stmt, nil);

    if (rst==SQLITE_OK) {

        while (sqlite3_step(stmt)==SQLITE_ROW) {

//            循环便利数据库中的行的信息

            NSLog(@"stuid = %d",sqlite3_column_int(stmt, 0));

            NSLog(@"名字 = %@", [NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 1)]);

            NSLog(@"专业 = %@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 2)]);

            NSLog(@"电话 = %@",[NSString stringWithFormat:@"%s", sqlite3_column_text(stmt, 3) ]);

            NSLog(@"密码 = %@",[NSString stringWithFormat:@"%s", sqlite3_column_text(stmt, 4) ]);

            NSLog(@" = %@",[NSString stringWithFormat:@"%s", sqlite3_column_text(stmt, 5) ]);

            NSLog(@"年龄 = %d",sqlite3_column_int(stmt, 6));

        }

    }

}

//数据库的局部查询(登录)操作

-(void)loginPage

{

    NSLog(@"登录");

    sqlite3 *db;

    sqlite3_stmt *stmt;

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

//    "select stuname , stupwd from students where stuname=? and stupwd=?" sql语句 数据库的局部查询操作(登录)

    int rst = sqlite3_prepare_v2(db, "select stuname , stupwd from students where stuname=? and stupwd=?", -1, &stmt, nil);

    sqlite3_bind_text(stmt, 1, "shali", -1, nil);

    sqlite3_bind_text(stmt, 2, "520lh", -1, nil);

    if (rst==SQLITE_OK) {

        if (SQLITE_ROW==sqlite3_step(stmt)) {

            NSLog(@"登录成功");

        }

    } else {

        NSLog(@"登录失败");

    }

    

    

}

 

posted @ 2016-03-22 22:17  A唯爱永生_罗韩  阅读(221)  评论(0编辑  收藏  举报