grazie Oregon , solo che ho queto problema :
Devo importare moltissimi dati e arrivato alla seguente funzione:
m_pRsShell= m_dbEngine->returnRecordset("Select * from [Connectivity - Area]",m_pDB);
if(m_pRsShell)
m_pRsShell->MoveFirst();

la query ritorna null! se invece chiudo la connessione e la riapro tutto funziona correttamente!.
possono esssere problemi di memoria?
Qesto è il m_dbEngine:

#include "stdafx.h"
#include "dbdao.h"
CDaoDB::CDaoDB()
{
}

CDaoDB::~CDaoDB()
{
}
DAORecordset * CDaoDB::returnRecordset(CString sql,DAODatabase * pDB)
{
DAOQueryDef * query=NULL;
COleVariant empty;
COleVariant strSql(_T(sql), VT_BSTRT);
COleVariant strQueryName;
DAORecordset * rs=NULL;

LPCSTR str=(LPCSTR)"";
strQueryName.SetString(str,VT_BSTRT);
if(pDB)
{
pDB->CreateQueryDef(strQueryName,strSql ,&query);
COleVariant varOptRecorsdset(((long)dbReadOnly),VT_I4);
COleVariant varLockType(((long)dbPessimistic),VT_I4);
COleVariant varType(((long)dbOpenDynaset),VT_I4);
query->OpenRecordset(varType,empty,varLockType,&rs);
query->Release();
}
return rs;
}
DAODatabase * CDaoDB::ConnectDb(CString strDb)
{

DAODBEngine * pEngine = AfxDaoGetEngine();

if (pEngine == NULL)
{
AfxDaoInit();
pEngine = AfxDaoGetEngine();
}


COleVariant varFileName(_T(strDb), VT_BSTRT);
COleVariant varLocale(dbLangGeneral, VT_BSTRT);
COleVariant varOption = (long)dbVersion30;
COleVariant empty;

DAODatabase * pDB = NULL;
pEngine->OpenDatabase(V_BSTR(&varFileName),empty,empty,emp ty, &pDB);

pEngine->Release();
return pDB;
}

potrebbe essere che non faccio il delete degli oggetti del dao qundo non servono piu'?
o è altro?
perchè se provo a fare il delete di un recordset mi da errore ad es:
delete m_pRs mi da il solito hai provato a crivere su 002313123 ?



cosa puo' essere?
grazie.