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语句保存到指定的目标文件中。这个工具简化了手动...
参数化查询允许将变量值插入到SQL语句中,而不是直接将它们拼接到字符串中。问号是大多数数据库系统用来表示这些参数的占位符。例如,以下是一个简单的参数化SELECT语句: ```sql SELECT * FROM Users WHERE ...
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脚本文件(如"SQL语句.sql")可能包含初始化数据库、填充测试数据或执行复杂数据转换的命令。 总之,掌握SQL是IT专业人士必备的技能,无论是在JavaWeb开发还是其他数据库相关的领域,SQL都是不可...
本资源集合了泛微系统中与SQL Server数据库交互时常用的各种SQL语句,涵盖了组织架构、流程管理以及自定义需求等多个方面。以下是对这些SQL语句知识点的详细解释: 1. **组织架构相关SQL**: - 组织架构是企业信息...
本文将围绕“SQL执行超长语句”这一主题进行深入探讨,包括超长语句可能出现的原因、如何编写更加高效合理的超长SQL语句以及如何优化执行性能等方面。 #### 一、超长SQL语句的定义与常见场景 ##### 定义 超长SQL...
嵌入式SQL语句在VC++数据库系统开发中扮演着重要的角色,它允许开发者将SQL命令直接嵌入到C++程序中,实现高效且灵活的数据处理。本文将深入探讨嵌入式SQL的概念、构建方法以及在VC++环境下的具体应用。 嵌入式SQL...
然而,在某些情况下,我们需要将这些表达式转换为实际的SQL语句,以便在数据库中执行。本文将深入探讨如何实现这一过程。 首先,我们需要了解Lambda表达式的基本结构。Lambda表达式通常以参数列表开始,后面跟着一...
在Java的JDBC编程中,`PreparedStatement`是一个非常重要的接口,它用于预编译SQL语句,提高了数据库操作的效率和安全性。当我们处理大量重复的SQL操作时,使用`PreparedStatement`可以避免SQL注入等问题,同时提升...
本文将深入探讨如何利用SQL语句实现对某一列所有字段中的特定字符进行替换的操作,这一过程通常用于数据清洗、格式调整或错误修正等场景。 ### SQL语句替换某列所有字段中的某个字符 #### 1. 基本概念与应用场景 ...
本文讨论了 XML 查询语句转换成 SQL 语句的实现,包括 XPath 和 XQuery 语法、查询表达式的语法格式、查询语言的功能特性、将 XPath、XQuery 语句转换成 SQL 语句的算法实现等。 知识点: 1. XML 是 Internet 上...