测试环境:VC6.0
代码走起:
#include
#include
#pragma comment(lib,"sqlite3.lib")2
#include "sqlite3.h"
void Search();
sqlite3 *zhao;
int main()
{
sqlite3_open("hulu.db",&zhao);
char sql[300];
/* sprintf(sql,"insert into student values('1','t','1');");//数据的插入测试
sqlite3_exec(zhao,sql,0,0,NULL);*/ //数据的插入测试
Search();//查找
sqlite3_close(zhao);
return 0;
}
//查找
void Search()
{
int result;
char * errmsg = NULL;
char **dbResult; //是 char ** 类型,两个*号
int nRow, nColumn;
int i , j;
int index;
result = sqlite3_get_table( zhao, "select * from student where Age > 6;", &dbResult, &nRow, &nColumn, &errmsg );
if( SQLITE_OK == result )
{
//查询成功
index = nColumn; //前面说过 dbResult 前面第一行数据是字段名称,从 nColumn 索引开始才是真正的数据
printf( "查到%d条记录\n", nRow );
for( i = 0; i < nRow ; i++ )
{
printf( "第 %d 条记录\n", i+1 );
for( j = 0 ; j < nColumn; j++ )
{
printf( "字段名:%s -> 字段值:%s\n", dbResult[j], dbResult [index] );
++index; // dbResult 的字段值是连续的,从第0索引到第 nColumn - 1索引都是字段名称,从第 nColumn 索引开始,后面都是字段值,它把一个二维的表(传统的行列表示法)用一个扁平的形式来表示
}
printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-\n");
}
}
}
下载源代码