Beispiel #1
0
void  SQLCode::_BuildNormalSQL(const SQLVarParms& varParms, SQLStatement& rSQLFormats, SQLStatement& rSqlStatement)
{
	BOOST_LOG_FUNCTION();

	if (!rSQLFormats.strCommonSQL.empty())
	{
		_BuildSQL(varParms, rSQLFormats.strCommonSQL, rSqlStatement.strCommonSQL);
	}
	else
	{
		if (rSQLFormats.strOracleSQL.empty() 
			|| rSQLFormats.strMySQLSQL.empty() 
			|| rSQLFormats.strSQLiteSQL.empty())
		{
			throw DataAccessException(ER_DB_ERR_SQLCode, "The MySQL or Oracle SQL or SQLite Format is empty");
		}
		
		// build Oracle SQL Statement
		_BuildSQL(varParms, rSQLFormats.strOracleSQL, rSqlStatement.strOracleSQL, enumOracleDb);

		// build MySQL SQL statement
		_BuildSQL(varParms, rSQLFormats.strMySQLSQL, rSqlStatement.strMySQLSQL, enumMysqlDb);

		// build SqliteDb SQL Statement
		_BuildSQL(varParms, rSQLFormats.strSQLiteSQL, rSqlStatement.strSQLiteSQL, enumSqliteDb);
	}	

}
Beispiel #2
0
void  SQLCode::_BuildNormalSQL(const SQLVarParms& varParms, SQLStatement& rSQLFormats, SQLStatement& rSqlStatement)
{
	if (!rSQLFormats.strCommon.empty())
	{
		size_t uiTotalSQLSize = _GetSQLSize(varParms, rSQLFormats.strCommon);
		if ( uiTotalSQLSize > MAX_SQLSTRING_LEN )
		{
			_BuildLargeSQL(varParms, uiTotalSQLSize, rSQLFormats.strCommon, rSqlStatement.strCommon);
		}
		else
		{
			_BuildSQL(varParms, rSQLFormats.strCommon, rSqlStatement.strCommon);
		}
	}
	else
	{
		if (rSQLFormats.strMySQL.empty() || rSQLFormats.strSqlite.empty())
			TA_THROW(BadParamCount("The MySQL or Oracle SQL Format is empty"));

		// build MySQL SQL statement
		size_t uiTotalSQLSize = _GetSQLSize(varParms, rSQLFormats.strMySQL, enumMySQL_SQL);
		if ( uiTotalSQLSize > MAX_SQLSTRING_LEN )
		{
			_BuildLargeSQL(varParms, uiTotalSQLSize, rSQLFormats.strMySQL, rSqlStatement.strMySQL, enumMySQL_SQL);
		}
		else
		{
			_BuildSQL(varParms, rSQLFormats.strMySQL, rSqlStatement.strMySQL, enumMySQL_SQL);
		}
		
		// build Oracle SQL Statement
		uiTotalSQLSize = _GetSQLSize(varParms, rSQLFormats.strSqlite, enumOracle_SQL);
		if ( uiTotalSQLSize > MAX_SQLSTRING_LEN )
		{
			_BuildLargeSQL(varParms, uiTotalSQLSize, rSQLFormats.strSqlite, rSqlStatement.strSqlite, enumOracle_SQL);
		}
		else
		{
			_BuildSQL(varParms, rSQLFormats.strSqlite, rSqlStatement.strSqlite, enumOracle_SQL);
		}
	}	

}