将sql语句用paraset中的值给填充一下!

int CSQLMake::DoSqlFit(std::string &strSql, CParaSet &oInPara)
{

int iRet = 0;
// 拆分sql
std::vector<std::string> vctSql;
SplitSql(strSql, vctSql);

// 循环处理sql
std::vector<std::string> vctSqlFit;
std::vector<std::string>::iterator itr;
for (itr=vctSql.begin(); itr!=vctSql.end(); itr++)
{
//std::cout << "=====>" << *itr << std::endl;
MakeSqlFit(*itr, oInPara);
//std::cout << "--------->" << *itr << std::endl;
vctSqlFit.push_back(*itr);
}

// 合并sql
MergeSql(strSql, vctSqlFit);

// 最后处理一下排序字段 order by
//需要排序,需要把原来的过滤条件给去掉。
std::string::size_type iOrderpos = strSql.find(" order ");
if (std::string::npos == iOrderpos)
{
;//没有order排序,直接过。
}
else
{
strSql = strSql.substr(0,iOrderpos);
}
if ( oInPara["sort.strFild"].isNull() || oInPara["sort.iOrder"].isNull() )
{
return iRet;
}
int iOrder = oInPara["sort.iOrder"].asInt();
std::string strSortField = oInPara["sort.strFild"].asString();
strSql = strSql + " order by " + strSortField;
if (2 == iOrder)
{
strSql = strSql + " ASC";
}
else
{
strSql = strSql + " DESC";
}

return iRet;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值