当前位置: 首页>>代码示例>>C++>>正文


C++ CDatabase::FreeRecord方法代码示例

本文整理汇总了C++中CDatabase::FreeRecord方法的典型用法代码示例。如果您正苦于以下问题:C++ CDatabase::FreeRecord方法的具体用法?C++ CDatabase::FreeRecord怎么用?C++ CDatabase::FreeRecord使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CDatabase的用法示例。


在下文中一共展示了CDatabase::FreeRecord方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: HandleRegReq

//注册用户
void Connection::HandleRegReq(RegUserReq* req)
{
    RegUserRes res;
    res.set_rescode(FAILED);

    //判断用户名是否存在,如果不存在,操作数据库,注册,如果存在,返回错误码
    CDatabase *pdb = CDBPool<CDatabase>::Instance()->Acquire();
    if(pdb != NULL)
    {
        char sql[MAX_SQL_LEN];
        memset(sql,0,sizeof(sql));
        snprintf(sql,sizeof(sql),"select * from tab_user where username='%s'",req->name().c_str());
        if(pdb->SelectBySql(sql))
        {
            if(pdb->GetRowNum())
            {
                log::log(Info,"username have been Register");
                //查找到了
            }
            else
            {
                //注册用户
                memset(sql,0,sizeof(sql));
                snprintf(sql,sizeof(sql),"insert into tab_user(username,password) values('%s','%s')",req->name().c_str(),req->password().c_str());
                if(pdb->SelectBySql(sql))
                {
                    //注册成功
                    log::log(Info,"Register success!");
                    res.set_rescode(SUCCESS);
                }
                else
                {
                    log::log(Info,"database error");
                    res.set_rescode(INNER_ERR);
                }
            }
            //释放结果集
            pdb->FreeRecord();
        }
        CDBPool<CDatabase>::Instance()->Release(pdb);
    }
    SendRequest(&res,REGUSER_RES);
}
开发者ID:pzx601917159,项目名称:IMserver,代码行数:44,代码来源:connection.cpp

示例2: HandleLoginReq

//登陆请求,同一个用户不能登陆两次
void Connection::HandleLoginReq(LoginReq* req)
{
    //返回userid把
    LoginRes res;
    res.set_rescode(FAILED);

    CDatabase *pdb = CDBPool<CDatabase>::Instance()->Acquire();
    if(pdb != NULL)
    {
        char sql[1024];
        memset(sql,0,sizeof(sql));
        snprintf(sql,sizeof(sql),"select * from tab_user where username='%s'",req->name().c_str());
        if(pdb->SelectBySql(sql))
        {
            if(pdb->GetRecord())
            {
                if(strncmp(req->password().c_str(),pdb->row[2],strlen(pdb->row[2]))==0)
                {
                    log::log(Info,"login SUCCESS!!!");
                    log::log(Info,"userid:",pdb->row[0]);
                    m_userid = atoi(pdb->row[0]);
                    res.set_rescode(SUCCESS);
                    //查找到了
                    res.set_userid(atoi(pdb->row[0]));
                }
            }
            //释放结果集
            pdb->FreeRecord();
        }
        CDBPool<CDatabase>::Instance()->Release(pdb);
    }
    SendRequest(&res,LOGIN_RES);
    Online msg;
    msg.set_id(m_userid);
    msg.set_name(req->name());
    m_server->BroadcastMsg(&msg,ONLINE_MSG);
}
开发者ID:pzx601917159,项目名称:IMserver,代码行数:38,代码来源:connection.cpp


注:本文中的CDatabase::FreeRecord方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。