zoukankan      html  css  js  c++  java
  • 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); }


  • 相关阅读:
    为富人服务,挣富人的钱 Leone
    javascript 高效数组随机顺序 Leone
    Atitit 开发2d游戏的技术选型attilax总结
    Atitit 软件项目非法模块与功能的管理与  监狱管理的对比 原理与概论attilax总结
    qqzoneQQ空间漏洞扫描器的设计attilax总结
    Atitit机器学习原理与概论book attilax总结
    Atiti  qq空间破解(3)gui图形化通用cli执行器atiuse
    Atitit.attilax重要案例 项目与解决方案与成果 v6 qa15
    Atitit dsl对于数组的处理以及main函数的参数赋值
    Atitit 类库冲突解决方案  httpclient4.5.2.jar
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6806738.html
Copyright © 2011-2022 走看看