zoukankan      html  css  js  c++  java
  • IOS SQLITE 数据库操作

        NSArray * array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        NSString * docPath = [array objectAtIndex:0];

        NSString * dbPath = [docPath stringByAppendingPathComponent:@"test_db"];

        

        NSLog(@"dbPath:%@",dbPath);

        

        sqlite3 * database;

        

        if( sqlite3_open([dbPath UTF8String], &database ) == SQLITE_OK)

        {

            NSLog(@"open success");

        }

        else

        {

            NSLog(@"open falied");

        }

        

        

        char * errorMsg;

        NSString * sql = @"create table if not exists mytable( myid int not null primary key , age int , name varchar(255))";

        

        if( sqlite3_exec(database, [sql UTF8String], NULL, NULL, &errorMsg) == SQLITE_OK )

        {

            NSLog(@"create table success");

        }

        else

        {

            NSLog(@"create talbe falied:%s",errorMsg);

            sqlite3_free(errorMsg);

        }

        

        

        

        sql = @"insert into mytable(myid , age , name )values(100,18,'rollrock')";

        

        if( sqlite3_exec(database, [sql UTF8String], NULL, NULL, &errorMsg) == SQLITE_OK )

        {

            NSLog(@"insert success");

        }

        else

        {

            NSLog(@"insert falied:%s",errorMsg);

            sqlite3_free(errorMsg);

        }

        

        sqlite3_stmt * stmt;

        sql = @"update mytable set name='rollrock&aaa' where myId = 100";

        

        if( sqlite3_prepare_v2(database, [sql UTF8String], -1,&stmt , NULL ) == SQLITE_OK )

        {

      //一定要执行这句话才能生效

            if( sqlite3_step(stmt) == SQLITE_DONE)

            {

                NSLog(@"update success");

            }

            

        }

        else

        {

            NSLog(@"update false");

        }

        

        

        

        sql = @"select * from mytable";

        

        if( sqlite3_prepare_v2(database, [sql UTF8String], -1, &stmt, nil) == SQLITE_OK )

        {

            NSLog(@"select success");

            

      //

            while( sqlite3_step(stmt) == SQLITE_ROW)

            {

                int myId = sqlite3_column_int(stmt, 0);

                char * name = sqlite3_column_text(stmt, 2);

                int age = sqlite3_column_int(stmt, 1);

                

                NSLog(@"myId:%d name:%s age:%d",myId,name,age);

            }

        }

        else

        {

            NSLog(@"select falied:%s",errorMsg);

            sqlite3_free(errorMsg);

        }

  • 相关阅读:
    Django数据库查询优化-事务-图书管理系统的搭建
    模型层字段-多表查询-神奇的双下划线查询-F,Q查询
    Django的View(视图)-settings源码的解析-模板层-模板语法
    Django路由层与视图层
    Django框架的前奏(安装及介绍)
    面向对象的三大特性
    一,类的初识
    一,对象初识
    装饰器
    闭包
  • 原文地址:https://www.cnblogs.com/rollrock/p/3641787.html
Copyright © 2011-2022 走看看