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语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...
参数化查询允许将变量值插入到SQL语句中,而不是直接将它们拼接到字符串中。问号是大多数数据库系统用来表示这些参数的占位符。例如,以下是一个简单的参数化SELECT语句: ```sql SELECT * FROM Users WHERE ...
标题中的“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语句相关的知识点。下面将对这些知识点进行详细的解释和扩展。 ### SQL语句大全 #### SELECT 语句 - **基本语法**: ```sql SELECT column1,...
在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语句,它允许用户根据不同的条件构造不同的查询或...
在上面的代码中,我们使用 `HibernateCallback` 接口来执行原生 SQL 语句,该接口提供了一个 `doInHibernate()` 方法,该方法将在 Hibernate 事务中执行。我们可以在该方法中执行原生 SQL 语句,并使用 `Connection`...
在实际项目中,SQL脚本文件(如"SQL语句.sql")可能包含初始化数据库、填充测试数据或执行复杂数据转换的命令。 总之,掌握SQL是IT专业人士必备的技能,无论是在JavaWeb开发还是其他数据库相关的领域,SQL都是不可...
sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句sql注入语句...
在数据库管理系统(如MySQL、Oracle、SQL Server等)中,SQL语句是不可或缺的一部分。 1. SQL基础语法 SQL的基础语法包括SELECT、INSERT、UPDATE、DELETE四大语句,它们分别用于查询、插入、更新和删除数据。 - ...
本文将围绕“SQL执行超长语句”这一主题进行深入探讨,包括超长语句可能出现的原因、如何编写更加高效合理的超长SQL语句以及如何优化执行性能等方面。 #### 一、超长SQL语句的定义与常见场景 ##### 定义 超长SQL...
在开发过程中,我们经常需要将表中的数据转移到其他地方,如果是在同一台机器,可以使用SQL自带的导入数据功能,但是如果我们想让所有的数据生成可执行的SQL语句,那么它的移植性将是最强的。为此,我们可以使用存储...
本文将深入探讨SQL语句的常见类型、测试方法以及其在数据库管理中的重要性。 首先,SQL包括多种基本语句,如SELECT、INSERT、UPDATE、DELETE,以及更复杂的JOIN、GROUP BY、HAVING等。SELECT语句用于查询数据,...
嵌入式SQL语句在VC++数据库系统开发中扮演着重要的角色,它允许开发者将SQL命令直接嵌入到C++程序中,实现高效且灵活的数据处理。本文将深入探讨嵌入式SQL的概念、构建方法以及在VC++环境下的具体应用。 嵌入式SQL...