db数据库检索的问题 求教! 谢谢

发布于 2022-09-27 20:28:01 字数 1699 浏览 7 评论 0

本人在linux下的开发中碰到这个问题,

有一个user.db的文件,它保存了一些用户信息,

我现在想把它种的所有用户信息取出来,

linux <db1/db.h>提供了如下的接口 :

DB* dbopen(const char *file,int flags,int mode,DBTYPE type,const void* openinfo);

DB 的定义如下:
typedef struct {
              DBTYPE type;
              int (*close)(const DB *db);
              int (*del)(const DB *db, const DBT *key, u_int flags);
              int (*fd)(const DB *db);
              int (*get)(const DB *db, DBT *key, DBT *data, u_int flags);
              int (*put)(const DB *db, DBT *key, const DBT *data,
                   u_int flags);
              int (*sync)(const DB *db, u_int flags);
              int (*seq)(const DB *db, DBT *key, DBT *data, u_int flags);
       } DB;

typedef struct{
           void *data;
           size_t size;
}DBT;

现在问题就来了,由于结构体DB提供的成员函数get,put.seq(不知道这3个函数能不能进行全局检索)都只是针对 DBT* key 来进行检索的,也就是说,只能根据某个关键字,来对某条记录进行检索,不能对所有的记录进行检索。

我现在需要的就是将该user.db文件中的所有记录都检索出来,请问该怎么办呢?

请高手指点
谢谢了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文