Проблема с базой
void CPrm::setQ(CRecordset* q)
{
CODBCFieldInfo fieldInfo;
CString fieldValue;
try{
int fieldsCount=q->GetODBCFieldCount();
for (int i=0;i<fieldsCount;i++)
{
q->GetODBCFieldInfo(i,fieldInfo);
q->GetFieldValue (i,fieldValue);
qFieldsMap[fieldInfo.m_strName]=fieldValue;
}
}
catch (CDBException* e)
{
e->ReportError();
e->Delete();
}
}
проблема возникает когда эту функцию с одним и тем же Recordset'ом вызываю второй и более раз
-выбрасывает исключение, причем пустым сообщением, опытным путем установил, что данное исключение выбрасывает операция q->GetFieldValue(i,fieldValue). Не могу понять в чем же дело. Если сменить рекордсет все работает прекрасно
Как-будто какой-то курсор перемещает, который надо ставить всегда в начале этой операции на начало рекордсета. Что я не знаю.