void MySqlPreparedStatement::addParam( int nIndex, const SqlStmtFieldData& data ) { MANGOS_ASSERT(m_pInputArgs); MANGOS_ASSERT(nIndex < m_nParams); MYSQL_BIND& pData = m_pInputArgs[nIndex]; my_bool bUnsigned = 0; enum_field_types dataType = ToMySQLType(data, bUnsigned); //setup MYSQL_BIND structure pData.buffer_type = dataType; pData.is_unsigned = bUnsigned; pData.buffer = data.buff(); pData.length = 0; pData.buffer_length = data.type() == FIELD_STRING ? data.size() : 0; }
void MySqlPreparedStatement::addParam( size_t nIndex, const SqlStmtField& data ) { poco_assert(_myArgs.size() == _numParams); poco_assert(nIndex < _numParams); MYSQL_BIND& pData = _myArgs[nIndex]; //setup MYSQL_BIND structure { auto typeInfo = ToMySQLType(data); pData.buffer_type = typeInfo.first; pData.is_unsigned = typeInfo.second; } pData.buffer = const_cast<void*>(data.buff()); pData.length = nullptr; pData.buffer_length = data.size(); pData.is_null = nullptr; pData.error = nullptr; }