![]() |
|
|
![]()
|
|
| niggar |
|
|||
|
Unregistered |
В БД под управлением Oracle есть таблица с полем типа RAW.
при обращении к таким полям получаю последовательность квадратиков как я понимаю двоичные данные. А мне надо записать это значение в буфер wchar_t*. Как конветнуть или правильно получить данные? Пример: ADODB::_RecordsetPtr rec = NULL; ADODB::_CommandPtr cmd = NULL; hr = cmd.CreateInstance(__uuidof(ADODB::Command)); cmd->ActiveConnection = conn; cmd->CommandType = ADODB::adCmdText; cmd->CommandText = _bstr_t(L"select f1 from t1"); rec = cmd->Execute( &vtMissing, &vtMissing, ADODB::adCmdText); variant_t v; v = rec->GetFields()->GetItem(0)->Value; Для размышления: если я помещу ковертацию в SQL, то все работает отлично.. но мне так не надо cmd->CommandText = _bstr_t(L"select raw_to_hex(f1) from t1"); Буду очень признателен за помощь. Спасибо. |
|||
|
||||
| Orlan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 10.6.2004 Где: Киев Репутация: нет Всего: 1 |
Ты уже сделал пол дела - выгрузил данные из базы. Осталось лишь преобразовать из _variant_t в удобные тебе тип. Посмотри чему равен тип варианта - v.vt - и действуй дальше в зависимости от этого. Скорее всего там окажется одномерный однобайтовый SAFEARRAY (VT_ARRAY), тогда ты сможеш пребразовать полученные данные в void* --------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |