读书人

sql处置之5

发布时间: 2012-09-14 23:00:49 作者: rapoo

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;}

读书人网 >SQL Server

热点推荐