Regresar a Proyectos y artículos
Uso de CListCtrl y DAO
Enviado por:
El citar acceso completo, nos referimos a que podamos navegar en la base de datos en modo de lectura y escritura, pues no basta con leer los datos también es necesario el dar mantenimiento a dichas datos. Aquí un modo sencillo de uso con una clase implementada.
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:

Aplicación en curso
Código Fuente:
class MicroLogicDataBaseControl
{
//...
};
Entonces al querer hacer un Listado el Sgte Código te servirá.
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:
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
| Ficha técnica |
| Author: |
MicroLogic©Software View profile |
| Fecha envío: |
20 April 2005 |
Descargas del artícuclo
|
|
Comentarios
tA' fREgAO
AnonimeX
| 29/April/2005 |
| Me vota error... no quiere descomprimir el ejemplo, igual pasa con el active flexgrid.... |
|
Re: tA' fREgAO
latindeveloper
| 02/May/2005 |
| Lo he descargado desde varios sitios y esta Ok... no se cual puede ser el problema con tus descargas. |
|
|
|