zoukankan      html  css  js  c++  java
  • sqlite3_get_table使用举例

    void GetTable()
    {
    sqlite3 * db;
    int result;
    char * errmsg = NULL;
    char **dbResult; //是 char ** 类型,两个*号
    int nRow, nColumn;
    int i , j;
    int index; 
     
    result = sqlite3_open( “c:\Dcg_database.db”, &db );
     
    if( result != SQLITE_OK )
    {
    //数据库打开失败
    return -1;
    }
     
    //数据库操作代码
    //假设前面已经创建了 MyTable_1 表
    //开始查询,传入的 dbResult 已经是 char **,这里又加了一个 & 取地址符,传递进去的就成了char ***
    result = sqlite3_get_table( db, “select * from MyTable_1”, &dbResult, &nRow, &nColumn, &errmsg );
    if( SQLITE_OK == result )
    {
    //查询成功
    printf("表格共%d 记录! ", nRow);
    printf("表格共%d 列! ", nColumn);
    // 前两个字段为字段名 field0, field1, row[0][0], row[0][1], row[1][0], row[1][1] ... ...
    // 是一维数组,不是二维数组,反正记着第0,第1列的值为字段名,然后才是字段值;
    printf( "字段名|字段值 ");
    printf( "%s | %s ", dbResult[0], dbResult[1]);
    index = nColumn;
    for( i = 0; i < nRow ; i ) { printf( “第 %d 条记录 ”, i); for( j = 0 ; j < nColumn; j++ ) { printf( “字段名:%s ?> 字段值:%s ”, dbResult[j], dbResult [index] ); index++;
    // dbResult 的字段值是连续的,从第0索引到第 nColumn - 1索引都是字段名称,从第 nColumn 索引开始,后面都是字段值,它把一个二维的表(传统的行列表示法)用一个扁平的形式来表示 } printf( “------- ” ); } } //到这里,不论数据库查询是否成功,都释放 char** 查询结果,使用 sqlite 提供的功能来释放 sqlite3_free_table( dbResult ); //关闭数据库 sqlite3_close( db ); return 0; } }*/
  • 相关阅读:
    Hive分组取Top N
    Hive 锁 lock
    Hive创建指向HBase表的表
    Hive Serde
    自定义UDF
    Hive使用SequenceFile存储数据
    alter table
    describe命令
    移动端,字体实际大小比设置的大,原因总结
    移动端适配基础总结
  • 原文地址:https://www.cnblogs.com/killer-xc/p/6670098.html
Copyright © 2011-2022 走看看