parent nodes: ArchivosYClases | CambiarPunterosPorVariablesLocales

CInDaoRecordset

Proyecto: inclacol
Archivos: inclacolInDaoClases.h inclacolInDaoClases.cpp


Constructor: CInDaoRecordset(CInDaoDatabase* pDatabase = NULL);


Crear un RecordSet sin usar punteros

Para no ir moviendo el heap de memoria sin necesidad. Sí en la misma función hacemos el new y el delete o, lo que es lo mismo, el CreateRecordset y el BorraDaoPuntero estamos usando la memoria sin necesidad, se puede hacer lo mismo en el stack de memoria.
try
{
     CInDaoRecordset rsDatos(db); // constructor   si db no existe usar DameGen()->m_dbgeneral
     rsDatos.Open(dbOpenDynaset, strSQL, dbReadOnly); // ver más abajo detalle de Open
	if(rsDatos.IsBOF() && rsDatos.IsEOF())
	{
	   AfxThrowDBException( SQL_ERROR, NULL, NULL );
	}

	if(!rsDatos.IsBOF())
        rsDatos.MoveFirst();
    //(···)
     if( rsDatos.IsOpen() == TRUE )
		rsDatos.Close();
}
catch( CDaoException * e )
{
      e->ReportError();
      DaMensaje( IDS_SQL_MENSAJE_TEMPORALES, IDS_SQL_MENSAJE_TEMPORALES, MEN_INFOR );
      delete e;
      return FALSE;
}
return true;

CDaoRecordset::Open

virtual void Open( int nOpenType = AFX_DAO_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, int nOptions = 0 );
virtual void Open( CDaoTableDef * pTableDef, int nOpenType = dbOpenTable, int nOptions = 0 );
virtual void Open( CDaoQueryDef * pQueryDef, int nOpenType = dbOpenDynaset, int nOptions = 0 );

nOpenType One of the following values: nOptions One or more of the options listed below. The default value is 0. Possible values are as follows: [camelCaseWordsEnabled: false]