Тема: CDaoRecordset
Странные вещи творяться!
вот в таком коде
AcDbLayerTableRecord *pRcd;
int i=0;
for(; !pIterator->done(); pIterator->step()) {
char *pName = NULL;
es = pIterator->getRecord(pRcd, AcDb::kForRead);
if (es == Acad::eOk) {
pRcd->getName(pName);
s_LeyarsOut = (LPCSTR)pName;
CDaoRecordset recset(&db);
COleVariant var;
qStr="SELECT * FROM Layer WHERE NLayer='"+s_LeyarsOut+"';";
recset.Open(AFX_DAO_USE_DEFAULT_TYPE,qStr,NULL);
if(!recset.IsEOF()) //
{
///проблема
}
recset.Close();
free(pName);
pRcd->close() ;
i++;
}
}
delete pIterator;
если слоёв меньше чем 25 , то всё срабатывает данные из БД беруться и все хорошо, но только слоёв становиться больше чем 25 , то вылетает ошибка доступа , а если в проблемном месте нет никаких операций т.е. пусто , то всё нормально.
НЕ понятно , что есть ограничения на обращение к БД.
И как с этим бороться?