• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

SQLite创建表并加入数据

- (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); }


posted on 2017-05-04 13:54  cynchanpin  阅读(3589)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3