SQLite创建表并添加数据
发布时间:2020-12-12 19:54:40 所属栏目:百科 来源:网络整理
导读:- (void)viewDidLoad { [super viewDidLoad]; //创建表 [self creatTable]; //插入数据 [self insertTable];}// -----------------------创建一个表--------------------- (void)creatTable{// 1.创建一个数据库对象 sqlite3 *sqlite3 = nil; // 2.数据库的
- (void)viewDidLoad { [super viewDidLoad]; //创建表 [self creatTable]; //插入数据 [self insertTable]; } // -----------------------创建一个表-------------------- - (void)creatTable { // 1.创建一个数据库对象 sqlite3 *sqlite3 = nil; // 2.数据库的路径 NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"]; // 3.打开数据库 (通过指定路径打开数据库文件,如果没有就创建) int result = sqlite3_open([path UTF8String],&sqlite3); if (result != SQLITE_OK) { NSLog(@"数据库打开失败!"); return; } // 4.创建sql语句 NSString *sql = @"CREATE TABLE Students (id integer PRIMARY KEY,name text)"; // 5.执行SQL语句 char *error = NULL; result = sqlite3_exec(sqlite3,[sql UTF8String],NULL,&error); if (result != SQLITE_OK) { NSLog(@"执行sql语句失败!"); // 6.关闭数据库 sqlite3_close(sqlite3); return; } // 6.关闭数据库 sqlite3_close(sqlite3); } // -------------------------插入数据------------------------ - (void)insertTable { // 1.创建一个数据库对象 sqlite3 *sqlite3 = nil; // 2.数据库的路径 NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"]; // 3.打开数据库 (通过指定路径打开数据库文件,如果没有就创建) int result = sqlite3_open([path UTF8String],&sqlite3); if (result != SQLITE_OK) { NSLog(@"数据库打开失败!"); return; } // 4.创建sql语句 // insert into students(id,name) values('123456','李斯') NSString *sql = @"insert into students(id,name) values(?,?)"; // 5.编译sql语句 // 创建一个数据句柄对象 sqlite3_stmt *stmt = nil; result = sqlite3_prepare_v2(sqlite3,-1,&stmt,nil); if (result != SQLITE_OK) { NSLog(@"编译失败"); // 关闭数据库 sqlite3_close(sqlite3); return; } // 6.绑定数据到数据句柄里面 sqlite3_bind_int(stmt,1,123457); sqlite3_bind_text(stmt,2,"张三",nil); // 7.执行数据句柄的操作 result = sqlite3_step(stmt); if (result == SQLITE_ERROR || result == SQLITE_MISUSE) { NSLog(@"插入失败"); // 关闭数据句柄 sqlite3_finalize(stmt); // 关闭数据库 sqlite3_close(sqlite3); return ; } // 8.执行成功 NSLog(@"插入成功"); // 关闭数据句柄 sqlite3_finalize(stmt); // 关闭数据库 sqlite3_close(sqlite3); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |