/*
* 这个例子程序是Berkeley DB的示例程序之一(DB/example_cxx/AccessMethod.cpp),
* 它演示了如何使用Berkeley DB的基本功能,包括打开一个数据库,存入若干个
* key/data pair,然后遍历数据库中的数据,最后关闭数据库。
*
* 原始代码中有一些英文注释,但是对于初学者还是不够详细,我没有删除原来
* 的注释,而且添加了针对每一个Berkeley DB操作的更加详细的说明,请参考。
*
* 代码的非关键部分都已删除,所以这里的内容
* 无法直接编译运行。可以直接编译运行的版本我会放到空间的附件中。
*
*
* 用词约定:
* 本文提到的“数据库”是指Berkeley DB的database,相当于关系数据库的一个表。
* 一个数据库当中保存着很多个key/data pair,相当于关系数据库的一个表当中
* 保存着很多条记录。也就是说一个key/data pair相当于关系数据库的一条记录。
* 而数据库环境(DbEnv)是指Berkeley Db的执行环境,相当于一个关系数据库管理系统。
*/
/* 测试用例类声明 */
class AccessExample
{
public:
AccessExample();
void run(bool removeExistingDatabase, const char *fileName);
private:
// no need for copy and assignment
AccessExample(const AccessExample &);
void operator = (const AccessExample &);
};
/*
* 这个例子程序演示了如何使用Berkeley DB的基本功能,包括打开一个数据库,存入
* 若干个key/data pair,然后遍历数据库中的数据,最后关闭数据库。
*/
int
main(int argc, char *argv[])
{
// Use a try block just to report any errors.
// An alternate approach to using exceptions is to
// use error models (see DbEnv::set_error_model()) so
// that error codes are returned for all Berkeley DB methods.
//
try {
AccessExample app;
app.run((bool)(rflag == 1 ? true : false), database);
return (EXIT_SUCCESS);
}
catch (DbException &dbe) {
cerr << "AccessExample: " << dbe.what() << "/n";
return (EXIT_FAILURE);
}
}
void AccessExample::run(bool removeExisting
Berkeley DB示例程序详解 (1)
最新推荐文章于 2014-07-27 10:07:56 发布
本文档是一个关于Berkeley DB的示例程序,演示如何打开、操作和关闭数据库,包括插入key/data对、遍历数据及错误处理。程序首先创建数据库对象,设置数据库页大小和缓存大小,然后打开数据库并插入用户输入的key/data对,最后通过游标遍历并打印所有数据。
摘要由CSDN通过智能技术生成