Как получить значения _variant_t?

Я хочу знать, как получить значения типа _variant_t.

Я уже знаю метод значение с использованием GetItems(), например:

_variant_t var = pRs->Fields->GetItem(i)->GetValue();

В файле Excel (.xls) я не могу найти метод для целых данных строки.

1 ответ

Решение

Существует коллекция экстракторов, которые вы можете использовать для извлечения данных из типа варианта. Просто приведите его к типу, который представляет вариант. чтобы получить внутренний тип, проверьте член 'vt'.

Вот статья на MSDN.

Пример кода:

#include <Windows.h>
#include <comutil.h>
#include <cassert>

#pragma comment(lib, "comsuppw.lib")

int main()
{
    _variant_t v(10.0);
    assert(v.vt == VT_R8); // inner type is double

    double value = static_cast<double>(v); // 10.0

    return 0;
}
Другие вопросы по тегам