Posted on 2010-11-03 11:56
S.l.e!ep.¢% 閱讀(1442)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
FastDB
?
沒(méi)有什么說(shuō)的,以下是常用的功能代碼.
#include "fastdb.h"
#include <stdio.h>
USE_FASTDB_NAMESPACE
const int nRecords = 100000;
const int arraySize = 100;
class RecordUser {
? public:
? ? char const* szName;
? char const* szEmail;
? ? TYPE_DESCRIPTOR(((KEY(szName, INDEXED)), KEY(szEmail, HASHED)));
};
dbDatabase db;
REGISTER_IN(RecordUser,&db);
int main( int argc , char* argv[] )
{
? int n;
? if(db.open("Users")){
? ? ? ? RecordUser rec;
? ? char szName[32];
? ? char szEmail[32];
? ? for(int i=0;i<20;i++)
? ? {
? ? ? sprintf(szName,"name%00000008d",i);
? ? ? rec.szName = szName;
? ? ? sprintf(szEmail,"email%d",i);
? ? ? rec.szEmail = szEmail;
? ? ? insert(rec);
? ? ? ? }
? ? db.commit();
? ? dbCursor<RecordUser> cursor1;
? ? dbQuery sql1,sql2;
? ? sql1 = "szName=",szName;
? ? sql2 = "order by szName desc";
? ? sprintf(szName,"name%00000008d",5);
? ? //cursor1.selectByKey(char const* key, void const* value);
? ? n = cursor1.select(sql1,dbCursorForUpdate);
? ? if(n>0)
? ? {
? ? ? do{
? ? ? ? printf("szName=%s szEmail=%s id=%d\r\n",cursor1->szName,cursor1->szEmail,cursor1.currentId());
? ? ? ? cursor1->szEmail="bluker@sohu.com";
? ? ? ? cursor1.update();
? ? ? } while (cursor1.next());
? ? }
? ? //cursor1.removeAll();
? ? //cursor1.remove(); //刪除當(dāng)前記錄
? ? //cursor1.removeAllSelected();//刪除選擇的記錄
? ? printf("\r\n");
? ? //cursor1.setSelectionLimit(1000);//cursor1.unsetSelectionLimit();
? ? n = cursor1.select(sql2,dbCursorViewOnly);
? ? if(n>0)
? ? {
? ? ? do{
? ? ? ? printf("szName=%s szEmail=%s id=%d\r\n",cursor1->szName,cursor1->szEmail,cursor1.currentId());
? ? ? } while (cursor1.next());
? ? }
? }
? return 0;
}