Непонятки с ODBC InterBase и MFC
От: Buzzin  
Дата: 13.03.03 16:43
Оценка:
Добрый день.


subj
Делаю так:

CDatabase DB;
if((DB.OpenEx(NULL)) == NULL) AfxMessageBox("Error!");
else
{
....
cr.Open(CRecordset::forwardOnly,"select * from table");
short nFields = cr.GetODBCFieldCount();
....
for(index = 1; index < nFields; index++)
cr.Move(0);
....
while (!cr.IsEOF())
{
cr.GetFieldValue(index,var);
....
}
cr.Close();
....
}
DB.Close();

В результате могу получить кол-во столбцов, их название — но при попытки получить данные вываливается:

"recordset support forward movement only."

Если указывать не ::forwardOnly, а что нибудь другое (CRecordset::dynaset
CRecordset::snapshot CRecordset::dynamic ) то ругань на то, что ни фига ничего не поддерживается.

Куда копать?
Re: Непонятки с ODBC InterBase и MFC
От: e-smirnov  
Дата: 14.03.03 09:52
Оценка:
Не уверен, но попробуй вместо Move(0) — MoveFirst()

и вообще зачем for(index = 1; index < nFields; index++) ?
Move относится к записи а не к отдельному полю
убери for нафиг?
Re: Непонятки с ODBC InterBase и MFC
От: e-smirnov  
Дата: 14.03.03 09:54
Оценка:
И в while() cr.GetNext() делаешь?
Re: Непонятки с ODBC InterBase и MFC
От: kiamor  
Дата: 14.03.03 12:56
Оценка:
Здравствуйте, Buzzin, Вы писали:

B>Куда копать?


Слой курсора использовать не пробовал?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.