您的位置:首页 > 数据库

SQLite创建表并加入数据

2017-05-04 13:54 155 查看
- (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, 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, [sql UTF8String], -1, &stmt, nil);
if (result != SQLITE_OK) {
NSLog(@"编译失败");
// 关闭数据库
sqlite3_close(sqlite3);
return;
}

// 6.绑定数据到数据句柄里面
sqlite3_bind_int(stmt, 1, 123457);
sqlite3_bind_text(stmt, 2, "张三", -1, 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);

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