• SQLite 的创建与编辑


    创建数据库语句

    -(void)creatData

    {

         sqlite3 *sqlite = nil;

        

        NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/data.file" ];

        

        //打开数据库

        int result  = sqlite3_open([filePath  UTF8String], &sqlite);

        if (result !=SQLITE_OK) {

            NSLog(@"创建失败!!!");

            return ;

        }

        

        //创建表的SQL语句

        

        NSString *sql = @"CREATE TABLE IF NOT EXISTS UserTable(userName text PRIMARY KEY ,password text,email text)";

        //执行SQL语句

        char *error;

        result = sqlite3_exec(sqlite, [sql  UTF8String], NULL, NULL, &error);

        if (result != SQLITE_OK) {

            NSLog(@"创建数据库失败:%s",error);

            return ;

        }

        //插如入一条数据

        //INSERT OR REPLACE INTO UserTable (userName,password,email) VALUES(?,?,?);

        //更新一条数据

        //UPDATE UserTable set password = '' where userName = '';

        

        //查询数据

        

        //SELECT userName ,password,eamil FROM UserTable where username = '';

       

        //删除数据

       // DELETE FROM UserTable WHERE username ='';

        

        //关闭数据库

        

        sqlite3_close(sqlite);

        

     

    }

    **************************

    -(void)editData

    {

        sqlite3 *sqlite = nil;

        //句柄语句

        sqlite3_stmt *stmt =nil;

        

        //数据库

        NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/data.file"];

        int result  = sqlite3_open([filePath  UTF8String], &sqlite);

        if (result !=SQLITE_OK) {

            NSLog(@"打开数据库失败!!!");

            return ;

        }

        

        //创建SQL 语句

        NSString *sql = @" INSERT INTO UserTable (userName,password,email) VALUES (? ,?, ?)";

        

        //编译SQL语句

        sqlite3_prepare_v2(sqlite, [sql UTF8String], -1, &stmt, NULL);

        NSString *userName = @"张三";

        NSString *password = @"123456";

        NSString *email    = @"mxyd.qq";

        

        //绑定填充SQL语句

        sqlite3_bind_text(stmt, 1, [userName UTF8String], -1, NULL);

        sqlite3_bind_text(stmt, 2, [password UTF8String], -1, NULL);

        sqlite3_bind_text(stmt, 3, [email UTF8String], -1, NULL);

        SQL编辑语句

        //执行SQL语句

         result = sqlite3_step(stmt);

         if (result == SQLITE_ERROR || result  == SQLITE_MISUSE) {

            NSLog(@"编译数据库出错!!!");

            return;

        }

        

        //关闭句柄语句

        sqlite3_finalize(stmt);

        

        //关闭数据库

        sqlite3_close(sqlite);

        NSLog(@"数据插入成功!!!");

     

    }

  • 相关阅读:
    设计模式学习笔记之设计原则
    设计模式学习笔记之生成器模式
    设计模式学习笔记之适配器模式、外观模式
    java中的日期类型之间转换
    JS刷新当前页面的几种方法总结
    Java_枚举
    动态规划详解_2
    Java算法-动态规划详解
    Java经典算法题_2
    Java算法
  • 原文地址:https://www.cnblogs.com/meixian/p/5371161.html
Copyright © 2020-2023  润新知