⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 get_all_by_cur.cpp

📁 Berkeley DB是目前在嵌入式系统中应用比较广泛的嵌入式数据库
💻 CPP
字号:
#include <sys/types.h> 
#include <stdio.h> 
#include <stdlib.h>
#include <string.h> 
#include <db.h>
#define DATABASE "demo.db" 

int main() 
{ 
     DB_ENV *myEnv;
	 DB *dbp;
	 DBC *cursorp;
	 DBT key,data;

	 int ret; 
	 u_int32_t env_flags; 
     //........... Create an environment object and initialize it for error reporting
     ret = db_env_create(&myEnv, 0);
     //........If the environment does not exist create it. Initialize the in-memory cache.
     env_flags = DB_CREATE | DB_INIT_MPOOL;
     //........Open the environment. 
     ret = myEnv->open(myEnv,"D:/MyDatabase",env_flags,0);
     
     if ((ret = db_create(&dbp, myEnv, 0)) != 0) 
     { 
           fprintf(stderr, "db_create: %s\n", db_strerror(ret)); 
           exit (1); 
     } 
	 // ret=dbp->set_flags(dbp,DB_DUPSORT);
     if ((ret =dbp ->open(dbp, NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) 
     { 
           dbp->err(dbp, ret, "%s", DATABASE); 
           exit (1); 
     } 

	memset(&key,0,sizeof(DBT));
	memset(&data,0,sizeof(DBT));

	/* Get a cursor */
	dbp->cursor(dbp, NULL, &cursorp, 0);

ret = cursorp->c_get(cursorp, &key, &data, DB_NEXT);
 while(ret==0)
		{
		printf("The key is:%s\nthe data is :%s\n:",(char *)key.data,(char *)data.data);
		ret=cursorp->c_get(cursorp,&key,&data,DB_NEXT);
		}
	

	/* Close the cursor */
	if (cursorp != NULL)
    cursorp->c_close(cursorp);
	/* Close the database */
	if (dbp != NULL)
    dbp->close(dbp, 0); 
     //.........close evn
     if (myEnv != NULL)
     myEnv->close(myEnv, 0);
     
	 return 0;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -