zoukankan      html  css  js  c++  java
  • SQLite的sqlite3_prepare_v2

     original SQL text---<sqlite3_prepare_v2>--->sqlite3_stmt--<sqlite3_reset>-->clear sqlite3_stmt --<sqlite3_bind_*(stmt,1,*)>--> configed sqlite3_stmt

    --<sqlite3_step()>--->run sqlite3_stmt---<sqlite3_column_*(statement, N)>--->查询输出----<sqlite3_finalize()>--->释放语句

    /*

    ** CAPI3REF: Prepared Statement Object

    ** KEYWORDS: {prepared statement} {prepared statements}

    **

    ** An instance of this object represents a single SQL statement that

    ** has been compiled into binary form and is ready to be evaluated.

    **

    ** Think of each SQL statement as a separate computer program.  The

    ** original SQL text is source code.  A prepared statement object 

    ** is the compiled object code.  All SQL must be converted into a

    ** prepared statement before it can be run.

    **

    ** The life-cycle of a prepared statement object usually goes like this:

    **

    ** <ol>

    ** <li> Create the prepared statement object using [sqlite3_prepare_v2()].

    ** <li> Bind values to [parameters] using the sqlite3_bind_*()

    **      interfaces.

    ** <li> Run the SQL by calling [sqlite3_step()] one or more times.

    ** <li> Reset the prepared statement using [sqlite3_reset()] then go back

    **      to step 2.  Do this zero or more times.

    ** <li> Destroy the object using [sqlite3_finalize()].

    ** </ol>

    -(void)select{

        NSString * sqlString = @"select * from person";

        

        //准备sql语句

        sqlite3_stmt * stmt = nil;

        sqlite3_prepare(db, sqlString.UTF8String, -1, &stmt, nil);

        //单步执行语句

        while (sqlite3_step(stmt) == SQLITE_ROW) {

            const unsigned char * name = sqlite3_column_text(stmt, 0);

            NSString * nameStr = [NSString stringWithUTF8String:(const char*)name];

            int age = sqlite3_column_int(stmt, 1);

            

            NSLog(@"name:::%@ and age:::%d",nameStr,age);

            

        }

        //释放

        sqlite3_finalize(stmt);

        

    }

  • 相关阅读:
    [C语言] 交换排序之冒泡排序的特性及实现
    [C语言] 选择排序之鸡尾酒排序的特性及实现
    [C语言] 选择排序之直接选择排序的特性及实现
    计蒜客 蓝桥杯模拟 快速过河
    计蒜客 蓝桥杯模拟 瞬间移动 dp
    计蒜客 蓝桥杯模拟 充话费
    计蒜客 蓝桥杯模拟二 区间合并 打扫教室
    商品类目短文本分类总结
    SpringBoot项目创建及入门基础
    Joyful HDU
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10685312.html
Copyright © 2011-2022 走看看