Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > тип int не работает в ADO при выборе столбика


Автор: Makcimm 19.10.2010, 21:15
Подключаюсь к access через ADO, открываю таблицу, пытаюсь получить значение из столбика...
Код

_Recordset pRst;
...
int i=0;// i-номер столбика в таблице 
pRst->Fields->Item[(_variant_t) i]->Value;


Всё компилируется, но при выполнении, происходит ошибка error 0x800A0CC1 (значащая что столбика с таким номером в таблице нет)
Если указать другой тип  long i=0, или short i=0 всё работает.
Почему тип int не работает?

Автор: Makcimm 19.10.2010, 22:29
Нашёл вот что:
Вы всегда должны приводить числа к типу long или short при преобразованию их к _variant_t, т.к. преобразование типа int к _variant_t не реализовано. Это вызвано не желанием разработчиков компилятора усложнить нам жизнь, а спецификой самого типа int.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)