六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

tctdb的数据查询

[复制链接]

升级  2.67%

60

主题

60

主题

60

主题

举人

Rank: 3Rank: 3

积分
208
 楼主| 发表于 2013-1-26 14:28:30 | 显示全部楼层 |阅读模式
#include <tcutil.h>#include <tctdb.h>#include <stdlib.h>#include <stdbool.h>#include <stdint.h>int main(int argc, char **argv){  TCTDB *tdb;  int ecode, i, rsiz;  const char *rbuf, *name;  TCMAP *cols;  TDBQRY *qry;  TCLIST *res;  /* 创建一个数据库对象 */  tdb = tctdbnew();  /* 打开数据库对象 */  if(!tctdbopen(tdb, "db.tdb", TDBOWRITER | TDBOCREAT))  {    ecode = tctdbecode(tdb);    fprintf(stderr, "open error: %s\\n", tctdberrmsg(ecode));  }  /* 检索记录 */  qry = tctdbqrynew(tdb);    // 建立索引   tctdbsetindex(tdb,"ct",TDBITLEXICAL);  // 类似SELECT * FROM tbl WHERE sid = '100000425450915'  //tctdbqryaddcond(qry, "sid", TDBQCSTREQ, "100000425450915");  // 类似SELECT * FROM tbl WHERE id >= 1 and id <= 1000  tctdbqryaddcond(qry, "id", TDBQCNUMBT, "1,1000");  //tctdbqryaddcond(qry, "lang", TDBQCSTROR, "ja,en");  tctdbqrysetorder(qry, "ct", TDBQOSTRDESC);  tctdbqrysetmax(qry, 10);  res = tctdbqrysearch(qry);  for(i = 0; i < tclistnum(res); i++)  {    rbuf = tclistval(res, i, &rsiz);    cols = tctdbget(tdb, rbuf, rsiz);    if(cols)    {      printf("%s", rbuf);      tcmapiterinit(cols);      while((name = tcmapiternext2(cols)) != NULL)  {        printf("\t%s\t%s", name, tcmapget2(cols, name));      }      printf("\n");      tcmapdel(cols);    }  }  tclistdel(res);  tctdbqrydel(qry);  /* 关闭数据库 */  if(!tctdbclose(tdb)){    ecode = tctdbecode(tdb);    fprintf(stderr, "close error: %s\\n", tctdberrmsg(ecode));  }  /* *销毁数据库对象 */  tctdbdel(tdb);  return 0;}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表