青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 3  文章 - 2  trackbacks - 0
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

文章分類

文章檔案

相冊

ACE資料

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

在下載安裝這個數據庫之后,來使用這樣的數據庫做一個例子。
1.創建一個數據庫

#include? < db_cxx.h >
#include?
< iostream >
#include?
< string >

using ? namespace ?std;
int ?main( int ?, char ? * [])
{
????
try
????
{
????????Db?db(NULL,NULL);
????????
//
????????
// ?d:\\MyTest.db????數據文件目錄
????????
// ?DB_BTREE????????????使用的文件保存的結構
????????
// ?DB_CREATE????????創建方式的打開
????????
// ?NULL????????????????在windows里不使用此結構
????????
//
???????? if ?( 0 ? == ?db.open(NULL, " d:\\MyTest.db " , " MyFirstDB " ,DB_BTREE,DB_CREATE,NULL))
????????
{
????????????cout
<< " 創建數據庫文件! " << endl;
????????}

????}

????
catch ?(DbException? & e)
????
{
????????cout
<< " 創建數據庫失敗: " ;
????????cout
<< e.what() << endl;
????}

????
????
return ? 0 ;
}


2.向數據庫里保存一個記錄

#include? < iostream >
#include?
< db_cxx.h >
using ? namespace ?std;

typedef?unsigned?
int ?UINT32,? * PUINT32?;
typedef?unsigned?
char ?UINT8,? * PUINT8?;

#pragma?pack(push,?
1 )
typedef?
struct ?_SMyUser
{
????UINT32?userID;
????
char ?name[ 32 ];
}
SMyUser;
#pragma?pack(pop)

void ?main()
{
????
try
????
{
????????Db?db(NULL,NULL);
????????
if ?(db.open(NULL, " d:\\MyTest.db " , " MyFirstDB " ,DB_BTREE,DB_RDONLY,NULL)? == ? 0 )
????????
{
????????????SMyUser?resInst;
????????????memset(
& resInst, 0 , sizeof (SMyUser));
????????????resInst.userID
= 1 ;

????????????Dbt?dbKey(
& (resInst.userID), sizeof (resInst.userID));
????????????Dbt?dbData;
????????????memset(
& dbData, 0 , sizeof (dbData));
????????????
// Dbt?dbData(&resInst,sizeof(resInst));
???????????? if ?( 0 == db. get (NULL, & dbKey, & dbData, 0 ))
????????????
{
????????????????cout
<< " 增加成功 " << endl;

????????????????SMyUser?
* pResInst = (SMyUser * )dbData.get_data();
????????????????cout
<< " 內容: " << ( char * )pResInst -> name << endl;
????????????}

????????}

????}

????
catch ?(DbException? & e)
????
{
????????cout
<< " 失敗: " << e.what() << endl;
????}

????cout
<< " hello?the?world " << endl;
}


3.從數據庫里檢索出數據

#include? < iostream >
#include?
< db_cxx.h >
using ? namespace ?std;

typedef?unsigned?
int ?UINT32,? * PUINT32?;
typedef?unsigned?
char ?UINT8,? * PUINT8?;

#pragma?pack(push,?
1 )
typedef?
struct ?_SMyUser
{
????UINT32?userID;
????
char ?name[ 32 ];
}
SMyUser;
#pragma?pack(pop)

void ?main()
{
????
try
????
{
????????Db?db(NULL,NULL);
????????
if ?(db.open(NULL, " d:\\MyTest.db " , " MyFirstDB " ,DB_BTREE,DB_RDONLY,NULL)? == ? 0 )
????????
{
????????????SMyUser?resInst;
????????????memset(
& resInst, 0 , sizeof (SMyUser));
????????????resInst.userID
= 1 ;

????????????Dbt?dbKey(
& (resInst.userID), sizeof (resInst.userID));
????????????Dbt?dbData;
????????????memset(
& dbData, 0 , sizeof (dbData));
????????????
// Dbt?dbData(&resInst,sizeof(resInst));
???????????? if ?( 0 == db. get (NULL, & dbKey, & dbData, 0 ))
????????????
{
????????????????cout
<< " 增加成功 " << endl;

????????????????SMyUser?
* pResInst = (SMyUser * )dbData.get_data();
????????????????cout
<< " 內容: " << ( char * )pResInst -> name << endl;
????????????}

????????}

????}

????
catch ?(DbException? & e)
????
{
????????cout
<< " 失敗: " << e.what() << endl;
????}

????cout
<< " hello?the?world " << endl;
}

4.刪除一條記錄

#include? < iostream >
#include?
< db_cxx.h >

using ? namespace ?std;

typedef?unsigned?
int ?UINT32,? * PUINT32?;
typedef?unsigned?
char ?UINT8,? * PUINT8?;

#pragma?pack(push,?
1 )
typedef?
struct ?_SMyUser
{
????UINT32?userID;
????
char ?name[ 32 ];
}
SMyUser;
#pragma?pack(pop)

int ?main()
{
????
try
????
{
????????Db?db(NULL,NULL);
????????
if ?(db.open(NULL, " d:\\MyTest.db " , " MyFirstDB " ,DB_BTREE,NULL,NULL)? == ? 0 )
????????
{
????????????SMyUser?resInst;
????????????memset(
& resInst, 0 , sizeof (SMyUser));
????????????resInst.userID
= 1 ;

????????????Dbt?dbKey(
& (resInst.userID), sizeof (resInst.userID));
????????????
????????????
if ?( 0 == db.del(NULL, & dbKey, 0 ))
????????????
{
????????????????cout
<< " 增加成功 " << endl;
????????????}

????????}

????}

????
catch ?(DbException? & e)
????
{
????????cout
<< " 失敗: " << e.what() << endl;
????}

????
return ? 0 ;
}

這一些東西都是一些基本的操作。主要是想說明這個Berkeley DB是很強調一個這樣的概念:key與Data。他們都是一個很原始buffer塊。基于這一個數據庫的基礎,我們可自己做一些工作,其實有一些像自己去實現一數據庫出來。這個上面的MyFirstDB這個東東,感覺上真的是像一個表。



[Sword.Hell]

posted on 2006-12-14 11:14 Sword.Hell blog 閱讀(1604) 評論(1)  編輯 收藏 引用 所屬分類: 使用Berkeley DB

FeedBack:
# re: Berkeley DB的基本使用 2013-08-22 16:10 lf460
2.向數據庫里保存一個記錄,應該用pug()吧?  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲性人人天天夜夜摸| 亚洲人成网站在线播| 欧美国产日韩精品免费观看| 久久国产精品亚洲77777| 国产一区欧美日韩| 看片网站欧美日韩| 欧美激情精品久久久久久大尺度| 一区二区三区欧美亚洲| 亚洲综合欧美日韩| 亚洲国产精品v| av不卡在线看| 黄色免费成人| 999在线观看精品免费不卡网站| 国产精品一区久久| 免费观看成人| 欧美视频一区在线观看| 久久久久久香蕉网| 欧美激情四色 | 亚洲激情欧美激情| 国产精品亚洲人在线观看| 久久先锋资源| 欧美吻胸吃奶大尺度电影| 久久亚洲精品网站| 欧美丝袜一区二区| 亚洲大片一区二区三区| 国产日韩一区二区三区| 亚洲精品一二三区| 黄色av一区| 亚洲影视在线播放| 日韩视频在线一区二区三区| 欧美一区二区视频在线观看2020| 99香蕉国产精品偷在线观看| 久久se精品一区精品二区| 宅男精品视频| 欧美国产一区二区| 老司机午夜精品| 国产精品推荐精品| 亚洲九九爱视频| 亚洲国产一区在线观看| 欧美一区二区免费观在线| 日韩视频在线观看免费| 久久免费国产| 久久综合精品一区| 国产一区91| 亚洲欧美成人精品| 亚洲欧美另类在线| 欧美日韩一区视频| 日韩视频在线你懂得| 亚洲国产视频a| 久久激情五月激情| 久久久久久久一区二区三区| 国产精品毛片va一区二区三区 | 国产视频一区在线| 亚洲网在线观看| 亚洲欧美日韩综合国产aⅴ| 欧美精品二区三区四区免费看视频| 免费观看日韩av| 在线看视频不卡| 久久亚洲国产成人| 免费成人美女女| 亚洲国产另类 国产精品国产免费| 久久精品国亚洲| 蜜臀av一级做a爰片久久| 黄色成人在线观看| 久久免费观看视频| 欧美国产日韩视频| 亚洲免费高清视频| 欧美日韩国产三区| 亚洲午夜视频| 久久国产免费看| 狠狠色丁香婷婷综合影院| 久久国产精品免费一区| 欧美bbbxxxxx| 一本大道久久a久久精品综合| 欧美激情一区三区| 一区二区精品国产| 欧美在线免费看| 黑人一区二区| 欧美a一区二区| 日韩写真视频在线观看| 午夜一区不卡| 黑人一区二区| 欧美激情国产日韩| 中日韩高清电影网| 欧美在线视频播放| 在线精品高清中文字幕| 欧美国产综合| 亚洲午夜激情| 久久亚洲精品欧美| 日韩网站免费观看| 国产精品视频专区| 久久久久国产精品午夜一区| 亚洲国产精品福利| 亚洲一二三区精品| 激情六月婷婷久久| 欧美日韩国产首页在线观看| 亚洲欧美激情四射在线日| 欧美freesex交免费视频| 亚洲宅男天堂在线观看无病毒| 一区二区亚洲精品| 国产精品盗摄一区二区三区| 老司机67194精品线观看| 中文久久精品| 欧美激情a∨在线视频播放| 亚洲免费影院| 亚洲人www| 韩国在线视频一区| 欧美色图首页| 美女主播视频一区| 欧美有码在线观看视频| 99精品免费视频| 欧美国产成人精品| 久久精品99| 亚洲欧美国产77777| 亚洲精品中文字幕在线观看| 国产综合香蕉五月婷在线| 国产精品jizz在线观看美国| 老司机aⅴ在线精品导航| 性做久久久久久免费观看欧美| 亚洲精选一区二区| 欧美顶级少妇做爰| 久久久久亚洲综合| 亚洲视频一区二区在线观看| 伊人伊人伊人久久| 欧美日韩一区二区三区在线看| 男人的天堂亚洲| 西瓜成人精品人成网站| 亚洲欧美日韩精品久久| 99视频在线观看一区三区| 狠狠做深爱婷婷久久综合一区| 欧美日韩在线第一页| 久久国产精品久久久久久电车| 91久久久在线| 欧美激情亚洲自拍| 久久久无码精品亚洲日韩按摩| 99国内精品久久久久久久软件| 国产综合久久久久久| 国产精品一区二区久久久| 欧美国产第一页| 欧美激情第4页| 久久亚洲欧美| 欧美伊人久久| 亚洲综合视频1区| 日韩午夜精品| 一区二区欧美在线| 亚洲国产一区二区在线| 免费在线亚洲| 久久夜色精品亚洲噜噜国产mv | 欧美一区二区三区视频免费| 亚洲视频自拍偷拍| 91久久国产综合久久| 狠狠色狠狠色综合日日tαg| 国产精品视频区| 国产精品久久久久久久第一福利 | 亚洲欧美成人一区二区在线电影| 亚洲人成网在线播放| 亚洲二区在线观看| 在线国产欧美| 韩国精品久久久999| 国产日韩一区欧美| 国产美女精品免费电影| 国产精品入口| 国产精品在线看| 国产一区日韩欧美| 韩国一区二区三区美女美女秀| 国产午夜精品理论片a级大结局| 国产精品视频导航| 国产欧美日韩高清| 亚洲国产精品一区二区www在线 | 伊人色综合久久天天五月婷| 亚洲第一在线综合在线| 在线日韩视频| 一本色道88久久加勒比精品| 日韩午夜av电影| 一区二区三区国产精华| 中国女人久久久| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲精品日韩一| 亚洲精品裸体| 一级日韩一区在线观看| 一本久久精品一区二区| 中文亚洲欧美| 亚洲欧美另类中文字幕| 蜜臀av一级做a爰片久久| 欧美成人网在线| 欧美日韩精选| 国产伦精品一区二区三区照片91| 国产亚洲观看| 国内精品99| 亚洲人永久免费| 亚洲永久免费av| 久久精品一区二区三区不卡牛牛| 欧美一区二区三区日韩| 亚洲国产精品久久久久| 最新69国产成人精品视频免费| 日韩视频在线免费| 性久久久久久久久| 美女国产一区| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 亚洲日本中文|