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处置之5
热度:9 发布时间:2016-05-05 13:39:05.0
相关解决方案