Учитывая базу данных SQL Server, которая использует уникальные идентификаторы в качестве полей первичного ключа для таблицы, к которой я хочу запросить, и структуру GUID (включенную через rpc.h), которая имеет значение одной из записей в таблице, как мне создать ADODB :: Параметр, который хранит это значение?
Я понимаю, что параметры принимают свои значения как _variant_t. Как мне добраться от GUID до _variant_t? Приведение приводит к ошибке, а тип _variant_t не принимает GUID в конструкторе.
Я создаю объекты команд и параметров следующим образом:
HRESULT hr;
_CommandPtr selectCmd;
hr = selectCmd.CreateInstance(__uuidof(ADODB::Command));
if (FAILED(hr))
throw _com_error(hr);
selectCmd->CommandText = L"SELECT .... WHERE id=@id";
selectCmd->Parameters->Append(selectCmd->CreateParameter(L"@id",DataTypeEnum::adGUID, ParameterDirectionEnum::adParamInput, 16, /* what to put here? */));