数据库SQL

来源:互联网 发布:java package 编译 编辑:程序博客网 时间:2024/04/28 01:00

DataBaseHandle

单例

+ (instancetype)shareDataBaseHandle{    static DataBaseHandle *handle;    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{    handle = [[DataBaseHandle alloc] init];});return handle;}

数据库:

sqlite3 *dbPoint;

打开数据库:

- (void)openDB //打开数据库{    NSString *sandBoxPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 1, YES) lastObject];        NSString *dbPath = [sandBoxPath stringByAppendingPathComponent:@"0825Student.sqlite"];    int result = sqlite3_open([dbPath UTF8String], &dbPoint);    if (result == SQLITE_OK) {        NSLog(@"开启成功");    } else{        NSLog(@"开启失败");    }    NSLog(@"%@", dbPath);    }[[DataBaseHandle shareDataBaseHandle] openDB];

创建数据表

- (void)createTable{    NSString *sqlStr = @"create table if not exists stu(number integer primary key autoincrement, sex text, name text, age integer)";    int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil);    if (result == SQLITE_OK) {        NSLog(@"创建成功");    } else{        NSLog(@"创建失败");    }}[[DataBaseHandle shareDataBaseHandle] createTable];

插入数据

- (void)insertStu:(Students *)stu{     NSString *sqlStr = [NSString stringWithFormat:@"insert into stu (name, sex, age) values ('%@','%@','%ld')", stu.name, stu.sex, stu.age];    int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil);    if (result == SQLITE_OK) {        NSLog(@"Add Success");    }else {        NSLog(@"Add fail");    }}[[DataBaseHandle shareDataBaseHandle] insertStu:stu];

删除数据

删除分为两种:
一种是物理删除,使用delete语句吧数据全部删除掉
另一种是updata,这种事通过更改某个条件,在查找过程中找不到,但是数据内容还在

- (void)deleteStu:(Students *)stu{    NSString *sqlStr = [NSString stringWithFormat:@"delete from stu where name = %@", stu.name];    int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil);    if (result == SQLITE_OK) {        NSLog(@"执行成功");    }else {        NSLog(@"执行失败");    }}- (void)updataStu:(Students *)stu{    NSString *sqlStr = [NSString stringWithFormat:@"update stu  set name = %@, sex = %@, age = %ld where number = %d", stu.name,stu.sex, stu.age, 1];//    主见不能更新    int result = sqlite3_exec(dbPoint, [sqlStr UTF8String], nil, nil, nil);    if (result == SQLITE_OK) {        NSLog(@"修改成功");    }else{        NSLog(@"修改失败");    }   }[[DataBaseHandle shareDataBaseHandle] updataStu:stu];

搜索

0 0
原创粉丝点击