Здравствуйте Izverg, Вы писали:
I>Спасибо за совет..все заработало...Единственно Если через CDatabase стучаться к базе, то все работает...
I>а если используя только CRecordset, то нифига. и почему работает только если параметр forwardOnly стоит в остальных ошибку выдает...
Через CRecordset не работает по той же причине — при этом создается CDatabase с параметром по умолчанию, который требует этих самых SQLFetchScroll. Зачем они ему — бог его знает... Какой-то продвинутый биндинг ему нужен. Поэтому мне Microsoft ODBC и не нравится.
BTW: очень советую взглянуть на OTL (
http://www.geocities.com/skuchin/otl/home.htm ) — производительнось и переносимость программ для Oracle резко повысится, а проблемы ODBC растают, как дым.
I>Кстати не подскажешь где моя ошибка...
I>Проблема вот вчем...я не могу получить значение типа "numeric" выдаеться ошибка:
I> "Error in column 1: Numeric value out of range" (со строковыми все в порядке)
Глючный он, глючный. Получай значения через double (туда уместится):
CDatabase db;
db.Open("Ora");
CRecordset rs(&db);
rs.Open(CRecordset::forwardOnly, "SELECT count(*) s FROM all_views");
CDBVariant v;
rs.GetFieldValue("S", v, SQL_C_DOUBLE);
CString s;
s.Format("Result: %g", v.m_dblVal);
MessageBox(s);