您的位置:首页 > 数据库

数据库增删改查代码

2016-03-23 22:34 447 查看
-(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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: