S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

 

没有什么说的,以下是常用的功能代码.

#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(); //删除当前记录
    //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;
}


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理