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];
搜索