61 SQLRETURN result = SQLBindParameter(statement, parameterNumber, SQL_PARAM_INPUT, SQL_C_BIT, SQL_INTEGER, 0, 0, &booleanParameters.back(), 0, nullptr); |
61 SQLRETURN result = SQLBindParameter(statement, parameterNumber, SQL_PARAM_INPUT, SQL_C_BIT, SQL_INTEGER, 0, 0, &booleanParameters.back(), 0, nullptr); |
62 if (OdbcCommon::isNotSuccessful(result)) throw SqlException(L"Unable to set boolean parameter in prepared statement", result, SQL_HANDLE_STMT, statement); |
62 if (OdbcCommon::isNotSuccessful(result)) throw SqlException(L"Unable to set boolean parameter in prepared statement", result, SQL_HANDLE_STMT, statement); |
63 } |
63 } |
64 |
64 |
65 void PreparedStatement::setInteger(int parameterNumber, relpipe::reader::integer_t value) { |
65 void PreparedStatement::setInteger(int parameterNumber, relpipe::reader::integer_t value) { |
66 integerParameters.emplace_back(value); |
66 integerParameters.emplace_back(std::to_string(value)); |
67 SQLRETURN result = SQLBindParameter(statement, parameterNumber, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &integerParameters.back(), 0, nullptr); |
67 SQLRETURN result = SQLBindParameter(statement, parameterNumber, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_BIGINT, 0, 0, (void *) integerParameters.back().c_str(), 0, nullptr); |
68 if (OdbcCommon::isNotSuccessful(result)) throw SqlException(L"Unable to set integer parameter in prepared statement", result, SQL_HANDLE_STMT, statement); |
68 if (OdbcCommon::isNotSuccessful(result)) throw SqlException(L"Unable to set integer parameter in prepared statement", result, SQL_HANDLE_STMT, statement); |
69 } |
69 } |
70 |
70 |
71 void PreparedStatement::setString(int parameterNumber, relpipe::reader::string_t value) { |
71 void PreparedStatement::setString(int parameterNumber, relpipe::reader::string_t value) { |
72 std::string valueBytes = convertor.to_bytes(value); |
72 std::string valueBytes = convertor.to_bytes(value); |