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;
}
分享到:
相关推荐
在SQL语言中,可以使用Update表名Set字段名=case字段名when值1then值2else值三endFrom表名Where条件语句来实现条件语句的写法。 四、取余函数Mod() 在PB脚本中,可以使用Mod(要取余数的值,取余值)函数来实现取余数...
SQL语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...
标题中的“SQL参数自动填充工具”指的是一个专为简化SQL语句中参数处理而设计的软件工具。在数据库操作中,尤其是使用ORM框架如iBatis时,我们经常需要编写带有参数的SQL查询,这些参数通常用问号(?)表示。在执行...
OracleSqlConvert4MysqlSqlTool.java这个源码工具,根据描述,应该是实现了自动读取Oracle SQL语句,分析其结构,并根据MySQL的语法规则进行转换,然后将转换后的SQL语句保存到指定的目标文件中。这个工具简化了手动...
PreparedStatement允许我们在SQL语句中使用问号(?)作为占位符,然后通过调用setXXX方法(如setString、setInt等)来设置对应的参数值。例如: ```java String sql = "SELECT * FROM users WHERE username = ? AND...
- **VBE环境下ADO方式执行SQL**:在Visual Basic for Applications (VBA)环境中,使用ActiveX Data Objects (ADO)技术可以实现SQL语句的自动化执行,适用于大规模数据处理和脚本编程。 综上所述,SQL在ArcGIS中的...
在SQL的SELECT语句中,可以使用各种运算符和通配符来过滤结果,如`=`, `, `>`, `LIKE`, `%`, `_` 等。例如,`LIKE '%find this%'` 查找包含"find this"的字符串,而`LIKE '[a-zA-Z]%'` 查找以字母开头的字符串。同时...
sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明...
在Java编程中,调试SQL语句是开发过程中的常见任务,尤其当面对复杂且冗长的查询时。为了提高效率并使SQL语句更易于理解和分析,格式化SQL语句显得尤为重要。标题提及的"Java打印漂亮的SQL语句(被格式化的SQL语句)...
本文将深入探讨SQL语句命令及其在数据库操作中的应用,特别是使用ADO.NET框架进行数据库交互。 首先,我们需要了解如何连接到数据库。ADO.NET提供两种连接类:SqlConnection和OleDbConnection。SqlConnection是专门...
“存储过程中怎么动态执行SQL语句”这一标题表明文章将介绍如何在Oracle数据库的存储过程中编写能够动态执行的SQL语句。动态SQL是指在运行时才能确定其具体内容的SQL语句,它允许用户根据不同的条件构造不同的查询或...
本资源集合了泛微系统中与SQL Server数据库交互时常用的各种SQL语句,涵盖了组织架构、流程管理以及自定义需求等多个方面。以下是对这些SQL语句知识点的详细解释: 1. **组织架构相关SQL**: - 组织架构是企业信息...
本文将围绕“SQL执行超长语句”这一主题进行深入探讨,包括超长语句可能出现的原因、如何编写更加高效合理的超长SQL语句以及如何优化执行性能等方面。 #### 一、超长SQL语句的定义与常见场景 ##### 定义 超长SQL...
嵌入式SQL语句在VC++数据库系统开发中扮演着重要的角色,它允许开发者将SQL命令直接嵌入到C++程序中,实现高效且灵活的数据处理。本文将深入探讨嵌入式SQL的概念、构建方法以及在VC++环境下的具体应用。 嵌入式SQL...
在SQL Server数据库管理中,有时候我们需要将数据库表中的数据导出为SQL语句,以便于备份、迁移或者在其他环境中重建相同的数据结构和内容。针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具...
然而,在某些情况下,我们需要将这些表达式转换为实际的SQL语句,以便在数据库中执行。本文将深入探讨如何实现这一过程。 首先,我们需要了解Lambda表达式的基本结构。Lambda表达式通常以参数列表开始,后面跟着一...
本文讨论了 XML 查询语句转换成 SQL 语句的实现,包括 XPath 和 XQuery 语法、查询表达式的语法格式、查询语言的功能特性、将 XPath、XQuery 语句转换成 SQL 语句的算法实现等。 知识点: 1. XML 是 Internet 上...
### 使用单条SQL语句更新数据表中的某一列至另一表 #### 背景介绍 在数据库管理中,经常需要对数据进行更新操作来确保数据的准确性和时效性。有时候,这种更新不仅限于同一张表内,还可能涉及到跨表的操作。例如,...
在实际应用中,确保SQL语句安全性和正确性至关重要,因此在构建动态SQL时要特别注意防止SQL注入攻击,可以使用参数化查询(如使用`%s`占位符和tuple参数)或者ORM(对象关系映射)框架如SQLAlchemy来更安全地执行SQL...
在`SqlExecutor<T>`类中,我们可以使用反射来动态构建SQL语句,根据实体类`T`的属性生成对应的INSERT、UPDATE、DELETE等SQL语句。例如,对于INSERT操作,我们可以遍历`T`的所有公开属性,生成`SET`子句,然后结合...