C/Visual C - BD Access desde c/c++

 
Vista:
Imágen de perfil de Sergio

BD Access desde c/c++

Publicado por Sergio (47 intervenciones) el 29/10/2005 20:37:46
Hola, mi pregunta era para ver si alguien sabe de alguna libreria, driver o controlador lo que sea para acceder a bases de datos de Access de cualquier año desde c o c++, pero si no existen entonces les agradeceria que me ayudaran o dijeran.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:BD Access desde c/c++

Publicado por fernando.gomez (1603 intervenciones) el 31/10/2005 05:07:48
Microsoft provée de un API en C llamada ODBC. Lo que tienes que hacer es incluir la referencia a la librería (ODBC32.LIB) y hacer un #include de <sql.h> y <sqlext.h>.

MFC provée del Data Access Objects, una serie de clases: CDatabase, CRecordset, entre otras; que facilitan el asunto.

Finalmente, existe un componente COM/ActiveX llamado ActiveX Data Objects que hace algo similar a DAO, pero a través de componentes COM.

La referencia a estas tres APIs la encuentras completa en www.msdn.microsoft.com.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de sergio

RE:BD Access desde c/c++

Publicado por sergio (47 intervenciones) el 31/10/2005 15:16:41
Hola, gracias por la info, voy a averiguar más sobre esas API's, sólo dime si cualquier cosa te puedo preguntar?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sergio

RE:BD Access desde c/c++

Publicado por Sergio (47 intervenciones) el 01/11/2005 02:27:36
Hola de nuevo, busque un poco y me di cuenta que yo tenia esa libreria o driver ya que tengo visual basic y vi un articulo que me decia que este lo trae, ahora sólo quería saber si usar el objeto data es lo mismo que en visual ya que por ahi si me la juego mas o menos para usarlo, talvez si no seria mucha molestia un ejemplito chiquitito.

Perdona las molestias, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BD Access desde c/c++

Publicado por fernando.gomez (1603 intervenciones) el 01/11/2005 04:40:13
Cim, si tienes Windows, tienes ODBC y muy seguramente ADO. Si tienes el Visual Studio instalado, tienes ADO y DAO.

ADO no es "tan" sencillo en tanto que necesitas saber COM. ODBC es más sencillo y mucho más completo (yo siempre utilizo ODBC), pero las funciones son muchas y te tomará algún tiempo (mucho) aprenderte todas. Lo mejor es que emplees DAO. Aquí te mando un ejemplillo que saque del MSDN.

CDatabase db;
db.OpenEx( NULL, CDatabase::forceOdbcDialog );

// Create and open a recordset object
// directly from CRecordset. Note that a
// table must exist in a connected database.
// Use forwardOnly type recordset for best
// performance, since only MoveNext is required
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly,
_T( "SELECT * FROM SomeTable" ) );

// Create a CDBVariant object to
// store field data
CDBVariant varValue;

// Loop through the recordset,
// using GetFieldValue and
// GetODBCFieldCount to retrieve
// data in all columns
short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue );
// do something with varValue
}
rs.MoveNext( );
}

rs.Close( );
db.Close( );

Como ves, es muy sencillo. Si aún así quieres emplear ADO, envíame un email y te envío documentación al respecto, pero de antemano, deberás saber COM, aunque sea lo básico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sergio

RE:BD Access desde c/c++

Publicado por Sergio (47 intervenciones) el 01/11/2005 21:48:37
Hola, gracias por el ejemplillo, sólo me quedó una duda y es que no vi en dónde se le da el nombre de la base de datos ó en donde la abro, pero si quieres sólo me das la página de donde puedo sacar la info.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar