当前位置: 首页>>代码示例>>C++>>正文


C++ SqlStmtParameters::boundParams方法代码示例

本文整理汇总了C++中SqlStmtParameters::boundParams方法的典型用法代码示例。如果您正苦于以下问题:C++ SqlStmtParameters::boundParams方法的具体用法?C++ SqlStmtParameters::boundParams怎么用?C++ SqlStmtParameters::boundParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SqlStmtParameters的用法示例。


在下文中一共展示了SqlStmtParameters::boundParams方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DirectExecute

bool SqlStatement::DirectExecute()
{
    SqlStmtParameters * args = detach();
    //verify amount of bound parameters
    if(args->boundParams() != arguments())
    {
        sLog.outError("SQL ERROR: wrong amount of parameters (%i instead of %i)", args->boundParams(), arguments());
        sLog.outError("SQL ERROR: statement: %s", m_pDB->GetStmtString(ID()).c_str());
        MANGOS_ASSERT(false);
        return false;
    }

    return m_pDB->DirectExecuteStmt(m_index, args);
}
开发者ID:Calixa,项目名称:murlocs_434,代码行数:14,代码来源:SqlPreparedStatement.cpp

示例2: bind

void SqlPlainPreparedStatement::bind( const SqlStmtParameters& holder )
{
    //verify if we bound all needed input parameters
    if(m_nParams != holder.boundParams())
    {
        MANGOS_ASSERT(false);
        return;
    }

    //reset resulting plain SQL request
    m_szPlainRequest = m_szFmt;
    size_t nLastPos = 0;

    SqlStmtParameters::ParameterContainer const& _args = holder.params();

    SqlStmtParameters::ParameterContainer::const_iterator iter_last = _args.end();
    for (SqlStmtParameters::ParameterContainer::const_iterator iter = _args.begin(); iter != iter_last; ++iter)
    {
        //bind parameter
        const SqlStmtFieldData& data = (*iter);

        std::ostringstream fmt;
        DataToString(data, fmt);

        nLastPos = m_szPlainRequest.find('?', nLastPos);
        if(nLastPos != std::string::npos)
        {
            std::string tmp = fmt.str();
            m_szPlainRequest.replace(nLastPos, 1, tmp);
            nLastPos += tmp.length();
        }
    }
}
开发者ID:Calixa,项目名称:murlocs_434,代码行数:33,代码来源:SqlPreparedStatement.cpp

示例3: bind

void MySqlPreparedStatement::bind( const SqlStmtParameters& holder )
{
	poco_assert(isPrepared());
	poco_assert(_myArgs.size() == _numParams);

	//finalize adding params
	if (_myArgs.size() < 1)
		return;

	//verify if we bound all needed input parameters
	if(_numParams != holder.boundParams())
	{
		poco_bugcheck_msg("Not all parameters bound in MySqlPreparedStatement");
		return;
	}

	size_t nIndex = 0;
	const SqlStmtParameters::ParameterContainer& holderArgs = holder.params();
	for (auto it = holderArgs.begin(); it!=holderArgs.end(); ++it)
	{
		//bind parameter
		addParam(nIndex++, (*it));
	}

	//bind input arguments
	if(mysql_stmt_bind_param(_myStmt, &_myArgs[0]))
		poco_bugcheck_msg((string("mysql_stmt_bind_param() failed with ERROR ")+mysql_stmt_error(_myStmt)).c_str());
}
开发者ID:IdbeHoldL,项目名称:DayZhiveEpoch,代码行数:28,代码来源:DatabaseMysql.cpp

示例4: bind

void MySqlPreparedStatement::bind( const SqlStmtParameters& holder )
{
    if(!isPrepared())
    {
        MANGOS_ASSERT(false);
        return;
    }

    //finalize adding params
    if(!m_pInputArgs)
        return;

    //verify if we bound all needed input parameters
    if(m_nParams != holder.boundParams())
    {
        MANGOS_ASSERT(false);
        return;
    }

    int nIndex = 0;
    SqlStmtParameters::ParameterContainer const& _args = holder.params();

    SqlStmtParameters::ParameterContainer::const_iterator iter_last = _args.end();
    for (SqlStmtParameters::ParameterContainer::const_iterator iter = _args.begin(); iter != iter_last; ++iter)
    {
        //bind parameter
        addParam(nIndex++, (*iter));
    }

    //bind input arguments
    if(mysql_stmt_bind_param(m_stmt, m_pInputArgs))
    {
        sLog.outError("SQL ERROR: mysql_stmt_bind_param() failed\n");
        sLog.outError("SQL ERROR: %s", mysql_stmt_error(m_stmt));
    }
}
开发者ID:gc,项目名称:mangos,代码行数:36,代码来源:DatabaseMysql.cpp


注:本文中的SqlStmtParameters::boundParams方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。