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

        }

  • 相关阅读:
    Java 老兵不死,Kotlin 蓄势待发
    程序员写代码时戴着耳机,在听什么?
    推荐 7 个提升前端编程效率的 VSCode 插件
    去掉烦人的 !=null
    透析!软件开发未来 10 年的 8 个趋势
    10月01日总结
    09月29日总结
    09月28日总结
    09月27日总结
    09月26日总结
  • 原文地址:https://www.cnblogs.com/rollrock/p/3641787.html
Copyright © 2011-2022 走看看