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

隨筆 - 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>
              亚洲人成艺术| 欧美一区网站| 国产一区激情| 国产精品制服诱惑| 国产精品你懂得| 欧美日韩情趣电影| 欧美破处大片在线视频| 欧美激情一区二区久久久| 欧美激情精品久久久久久| 欧美国产日韩a欧美在线观看| 免费永久网站黄欧美| 欧美人妖另类| 国产亚洲免费的视频看| 亚洲国产99| 亚洲在线免费| 久久午夜电影| 亚洲国产日韩欧美在线图片| 亚洲调教视频在线观看| 亚洲在线视频| 欧美成人自拍| 狠狠狠色丁香婷婷综合久久五月 | 欧美黄色影院| 国产区二精品视| 亚洲专区欧美专区| 欧美激情免费观看| 久久国产日本精品| 国产乱码精品一区二区三| 亚洲精品黄网在线观看| 久久久午夜视频| 午夜精品视频在线观看一区二区| 欧美日韩国产大片| 久久动漫亚洲| 国产日本欧洲亚洲| 久久精品成人一区二区三区| 亚洲一区二区三区四区中文| 国产精品都在这里| 亚洲一区二区三区四区在线观看| 欧美**人妖| 免费欧美视频| 亚洲久久一区| 亚洲一区二区精品视频| 欧美视频在线观看| 欧美一级免费视频| 欧美一区二区三区婷婷月色| 国产日韩欧美三级| 久久色在线观看| 欧美日韩第一区| 欧美在线视频观看免费网站| 久久理论片午夜琪琪电影网| 亚洲人成网站999久久久综合| 一本色道久久综合亚洲精品按摩| 国产精品电影在线观看| 美日韩精品免费观看视频| 欧美电影打屁股sp| 亚洲免费影视第一页| 久久婷婷蜜乳一本欲蜜臀| 亚洲小视频在线| 免费亚洲网站| 免费一级欧美片在线观看| 欧美四级剧情无删版影片| 欧美激情一区二区久久久| 国产一区二区三区网站| 日韩视频免费在线| 亚洲国产精品久久久久婷婷884| 亚洲少妇自拍| 午夜亚洲影视| 国产精品久久久久久模特| 亚洲精品在线一区二区| 海角社区69精品视频| 亚洲女女女同性video| 亚洲专区一二三| 国产精品视频大全| 亚洲精品欧美日韩| 99精品欧美一区二区三区综合在线| 欧美在线视频网站| 久久精品国产77777蜜臀| 国产精品久久久久9999高清| 亚洲国产精品999| 99精品国产在热久久| 欧美精品麻豆| 99国产精品99久久久久久| 亚洲欧美国产精品va在线观看 | 欧美大胆人体视频| 亚洲国产一区二区三区高清| 99在线精品视频在线观看| 欧美精品一区二区三区久久久竹菊| 猛干欧美女孩| 亚洲视频一起| 国产精品一区二区久久久久| 午夜激情综合网| 欧美高清视频一区二区| 一区二区三区不卡视频在线观看 | 亚洲破处大片| 欧美日韩不卡在线| 翔田千里一区二区| 亚洲人成在线播放| 亚洲欧美日韩在线高清直播| 亚洲第一黄色| 国产目拍亚洲精品99久久精品| 久久激情五月丁香伊人| 国产自产2019最新不卡| 欧美日韩成人| 老牛影视一区二区三区| 亚洲欧美成人| 亚洲在线一区二区| 亚洲美女在线看| 亚洲高清123| 欧美va亚洲va香蕉在线| 亚洲欧美日韩精品久久奇米色影视| 亚洲七七久久综合桃花剧情介绍| 国产在线不卡| 国外视频精品毛片| 一区免费视频| 亚洲欧洲综合| 野花国产精品入口| 亚洲一区二区在线播放| 亚洲女人天堂av| 新片速递亚洲合集欧美合集| 亚洲欧美日韩精品久久| 亚洲一区视频在线| 午夜精品福利电影| 久久激情视频免费观看| 久久精品99国产精品酒店日本| 久久精品国产亚洲一区二区| 久久国产精品久久久久久电车 | 精品电影一区| 亚洲欧洲精品一区二区| 亚洲精品1区2区| 香蕉免费一区二区三区在线观看| 亚洲一级网站| 久久久噜噜噜久噜久久| 亚洲精品在线免费观看视频| 一区二区三区黄色| 久久九九电影| 欧美日韩一区二区在线观看视频 | 美腿丝袜亚洲色图| 国产欧美日韩精品丝袜高跟鞋 | 麻豆精品传媒视频| 欧美精品久久久久久久免费观看| 国产欧美日韩综合精品二区| 国内精品伊人久久久久av一坑| 亚洲伦理网站| 久久精品国产一区二区三区| 欧美国产日韩一区二区在线观看| 亚洲免费视频在线观看| 久久蜜桃精品| 国产亚洲一本大道中文在线| 一区二区三区色| 亚洲国产精品ⅴa在线观看| 亚洲电影免费观看高清完整版在线观看 | 亚洲免费视频中文字幕| 欧美大片在线看| 看片网站欧美日韩| 激情丁香综合| 蘑菇福利视频一区播放| 裸体歌舞表演一区二区| 在线观看一区二区精品视频| 久久青青草原一区二区| 久久嫩草精品久久久精品一| 亚洲国产欧美另类丝袜| 亚洲电影av在线| 欧美午夜一区二区三区免费大片| 一本久道久久综合中文字幕| 亚洲国产精品一区二区第一页| 欧美国产精品一区| 亚洲一区精彩视频| 欧美亚洲网站| 一本色道久久综合| 性久久久久久久久久久久| 狠狠色狠狠色综合人人| 欧美二区乱c少妇| 国产精品多人| 欧美激情第五页| 国产小视频国产精品| 亚洲精品一区二区三区99| 国产亚洲美州欧州综合国| 国产一区激情| 亚洲精品偷拍| 精品成人一区二区三区| 亚洲图片你懂的| 六十路精品视频| 久久一区二区三区国产精品| 欧美日韩视频在线第一区| 欧美成人有码| 一区二区三区在线免费视频| 亚洲欧美另类在线| 亚洲一区二区三区激情| 欧美成人国产va精品日本一级| 久久精品动漫| 国产麻豆成人精品| 亚洲摸下面视频| 日韩网站免费观看| 免费日韩一区二区| 欧美黑人一区二区三区| 黄色国产精品一区二区三区| 久久久久国产一区二区三区四区| 欧美在线free| 亚洲国产精品久久| 欧美日韩在线直播| 一本色道久久综合亚洲91|