+(DataManager *)shareManage{
//创建静态变量
static DataManager *manage;
if (!manage) {
manage = [DataManager new];
}
return manage;
}
//打开数据库
- (void)open{
//创建路径
NSString *docum = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)first ];
NSString *sqlitepath = [docum stringByAppendingPathComponent:@“1606D.sqlite”];
//打开
int result = sqlite3_open(sqlitepath.UTF8String, &db);
//判断是否打开成功
if (result == SQLITE_OK) {
NSLog(@“数据库打开成功”);
}else{
NSLog(@“数据库打开失败”);
}
}
//关闭数据库
-(void)close{
//关闭
int result = sqlite3_close(db);
//判断是否关闭成功
if (result == SQLITE_OK) {
NSLog(@“数据库关闭成功”);
}else{
NSLog(@“数据库关闭失败”);
}
}
//创建
- (void)create{
//创建SQL语句
NSString *sqltring = @“create table if not exists student (name text, age text)”;
//执行语句
char *error = nil;
sqlite3_exec(db, sqltring.UTF8String, nil, nil, &error);
if (error == nil) {
NSLog(@“创建表格成功”);
}else{
NSLog(@“创建表格失败”);
}
}
//插入
- (void)insert:(Student *)student{
NSString *sqltring = [NSString stringWithFormat:@“insert into student (name , age) values (’%@’,’%@’)”,student.name,student.age];
//执行语句
char *error = nil;
sqlite3_exec(db, sqltring.UTF8String, nil, nil, &error);
if (error == nil) {
NSLog(@“插入数据成功”);
}else{
NSLog(@“插入数据失败”);
}
}
//更新
- (void)update:(Student *)student{
NSString *sqltring = [NSString stringWithFormat:@“update student set name = ‘%@’, age = ‘%@’ where name = ‘%@’”,student.name,student.age,student.name];
//执行语句
char *error = nil;
sqlite3_exec(db, sqltring.UTF8String, nil, nil, &error);
if (error == nil) {
NSLog(@“更新数据成功”);
}else{
NSLog(@“更新数据失败”);
}
}
//删除
- (void)deleteData:(NSString *)SID{
NSString *sqltring = [NSString stringWithFormat:@“delete from student where name = ‘%@’”,SID];
//执行语句
char *error = nil;
sqlite3_exec(db, sqltring.UTF8String, nil, nil, &error);
if (error == nil) {
NSLog(@“删除数据成功”);
}else{
NSLog(@“删除数据失败”);
}
}
//查询
-(NSMutableArray *)select{
NSString *sqltring = @“select * from student”;
//预编译指针
sqlite3_stmt *stmt = nil;
//准备语句
sqlite3_prepare(db, sqltring.UTF8String, -1, &stmt, nil);
//存放查询出来的数据
NSMutableArray *array = [NSMutableArray new];
//单步执行语句
while (sqlite3_step(stmt) == SQLITE_ROW) {
Student *studen = [Student new];
//获取第二例
const unsigned char *name = sqlite3_column_text(stmt, 0);
NSString *nameNsstring = [NSString stringWithUTF8String:(const char *)name];
studen.name = nameNsstring;
//获取第三例
const unsigned char *age = sqlite3_column_text(stmt, 1);
NSString *ageNsstring = [NSString stringWithUTF8String:(const char *)age];
studen.age = ageNsstring;
[array add :studen];
}
//释放 数据库管理指针
sqlite3_finalize(stmt);
return array;
}
继续阅读与本文标签相同的文章
-
CAD如何批量导出PDF文件?别说PDF了!GIF我都能给你导出来
2026-05-19栏目: 教程
-
活动回顾丨阿里云业务中台最佳实践沙龙圆满落幕
2026-05-19栏目: 教程
-
在CentOS里查看ssh的登录记录
2026-05-19栏目: 教程
-
好程序员web前端学习路线分享纯css绘制各种图形
2026-05-19栏目: 教程
-
菜鸟裹裹快递员收入有多高?小哥晒出月流水,程序员表示羡慕了
2026-05-19栏目: 教程
