Uso de CListCtrl y DAO
Un modo sencillo de acceder a las bases de datos de escritorio es usando un motor de base de datos como Microsoft Jet utilizando Data Acces Object (DAO). Visual C++ no tiene controles para realizar esta labor (al estilo Visual Basic o Delphi), pero si tiene varias clases implementadas, muchas de las cuales con complejas de inicializar y manipular, pero eso hace que nuestro código fuente este mas controlado y sea mas robusto. No necesitamos de un control prediseñado, nosotros podemos controlarlo con mucha facilidad, claro que eso se logra después de un tiempo de mucha practica y dedicación.
CListCtrl, nos permitirá poder mostrar visualmente los datos que iremos obteniendo de la tabla tblAlumnos, en la base de datos daoDataBase.mdb, y tendremos un resultado como este:
Código fuente para hacer un Listado desde la base de datos.
- Code: Seleccionar todo
 - void CDB_DAO_MiniSoftDmDlg::bpReadAllRecorset()
 - {
 - SYSTEMTIME mTime;
 - CWaitCursor mCursor;
 - // Hay que limpiar los valores del ListView
 - LstReporte.DeleteAllItems( );
 - // Preguntamos si tiene elementos....
 - if( mDaoDataControl.RecordsetIsEmpty( ) )
 - return;
 - char & nbsp; szTmpString[20];
 - long lngInd = 0;
 - // Nos desplazmos hacia el 1er Registro
 - mDaoDataControl.GetRecordset()->MoveFirst( );
 - //mTime.GetCurrentTime( );
 - GetLocalTime( &mTime );
 - // Ahora un ciclo para determianar cuantos Registros
 - // existen y leerlos directamente.....
 - while( ! mDaoDataControl.GetRecordset()->IsEOF( ) )
 - {
 - // Algo será !!
 - sprintf( szTmpString, "%03ld", lngInd+1 );
 - // Insertar los valores...
 - LstReporte.InsertItem ( lngInd, "" );
 - LstReporte.SetItemText( lngInd, 0
 - , szTmpString );
 - LstReporte.SetItemText( lngInd, 1
 - , mDaoDataControl.GetField_AsString( Field_Codigo ) );
 - LstReporte.SetItemText( lngInd, 2
 - , mDaoDataControl.GetField_AsString( Field_Datos ) );
 - sprintf( szTmpString, "%ld"
 - , mDaoDataControl.GetField_AsInteger( Field_AnioNac ) );
 - LstReporte.SetItemText( lngInd, 3 , szTmpString );
 - sprintf( szTmpString, "%d"
 - , mTime.wYear-mDaoDataControl.GetField_AsInteger( Field_AnioNac ) );
 - LstReporte.SetItemText( lngInd, 4 , szTmpString );
 - // Sumar un Registro...
 - lngInd++;
 - &n bsp;// Ahora buscamos el Siguiente Registro...
 - mDaoDataControl.GetRecordset()->MoveNext( );
 - };
 - };
 
Para Añadir un Registro a la Tabla tendremos:
- Code: Seleccionar todo
 - void CDB_DAO_MiniSoftDmDlg::OnAddRow()
 - {
 - CDB_DAO_Aniadir DlgNuevo;
 - if( DlgNuevo.DoModal()==IDOK )
 - {
 - if( mDaoDataControl.GetRecordset()->CanAppend( ) )
 - {
 - // Añadir nuevo Registro
 - mDaoDataControl.GetRecordset()->AddNew( );
 - mDaoDataControl.SetField_AsString( Field_Codigo
 - , DlgNuevo.FldCodigo );
 - mDaoDataControl.SetField_AsString( Field_Datos
 - , DlgNuevo.FldDatos );
 - mDaoDataControl.SetField_AsString( Field_AnioNac
 - , DlgNuevo.FldAnioNac );
 - mDaoDataControl.SetField_AsString( Field_Observs
 - , DlgNuevo.FldObserv );
 - // Guardar los Cambios Hechos....
 - mDaoDataControl.GetRecordset()->Update( );
 - // Ahora mostramos todo...
 - CDB_DAO_MiniSoftDmDlg::OnListar( );
 - }
 - }
 - };
 
Compilen con mucha FE, y CTRL+F5 Ante todo….
Recomendaciones de MicroLogic©Software
-     La corporación de software MicroLogic©Software tiene como fin el difundir el trabajo en equipo, pues creemos en la comunidad, la reciprocidad y estamos depuestos a compartir conocimiento entre los miembros de la corporación como con nuestros colegas programadores, MicroLogic©Software esta compuesto por un stuff de programadores e incansables investigadores, que siempre estarán dispuestos a resolver dudas.
 - MicroLogic©Software – Trabaja como Integrante de F.I.L.I.C.C (Fundación para la Investigación de Lenguajes Informático y Ciencias de la Computación.) http://www.filicc.pe.kz
 
Otros Artículos en esta sección
- 
                         Esta es una manera sencilla de hacer que tus aplicaciones no desentonen con el entorno de Windows XP.Tutorial paso a paso para crear una aplicación basada en dialogo utilizando las librerías MFC con Visual C++ 2010Chart para visual c++, control que visualiza gráficos de barra y sectores en un dialogo MFC, puedes utilizarlo en tus aplicaciones para enriquecerlo mostrando histogramas y gráficos de sectores.¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:

foro deVisual C++ » 
