当前位置: 代码迷 >> SQL >> sql处置之5
  详细解决方案

sql处置之5

热度:9   发布时间:2016-05-05 13:39:05.0
sql处理之5
int CSQLMake::MakeOnFilter(std::string &strOn, CParaSet &oInPara){    int iRet = 0;    std::string::size_type stPos = strOn.find(" on ");    if (stPos != std::string::npos)    {        std::string strOnCond = strOn.substr(stPos+4);        MakeOnFilter(strOnCond, oInPara);        strOn = strOn.substr(0, stPos);        if (!strOnCond.empty())        {            std::string::size_type stP = strOnCond.find("=");            if (stP != std::string::npos)             {                strOn += (std::string)" on " + strOnCond;            }            else             {                strOn += strOnCond;            }        }    }    // 获取真正完整的on条件    stPos = strOn.find_last_of("#");    if (stPos == std::string::npos)    {        return iRet;    }    std::string strTemp = strOn.substr(stPos);    std::string strLeft;    std::string strRight;    std::string::size_type stPos2 = strTemp.find_first_of(" ");    if (stPos2 == std::string::npos)     {        strLeft = strOn;    }    else     {        strLeft = strOn.substr(0, stPos+stPos2);        strRight = strOn.substr(stPos+stPos2);    }    MakeFilter(strLeft, oInPara);    strOn = strLeft + strRight;    return iRet;}
  相关解决方案