C/Visual C - NECESITO AYUDA¡¡¡¡¡

 
Vista:

NECESITO AYUDA¡¡¡¡¡

Publicado por paula (5 intervenciones) el 31/05/2001 02:34:21
hola..tengo un programita que en VC++ que lee valores de una base de datos access...mi problema es que necesito meter esos valores en UN ARRAY. necesito ir campo a campo de la tabla access y almacenar cada registro en un array...??????

¿ME PODEIS AYUDAR????
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
Imágen de perfil de Alejandro

Cómo leer valores de una base de datos Access y almacenarlos en un array en VC++

Publicado por Alejandro (1153 intervenciones) el 25/09/2024 22:21:56
¡Hola, Paula! Claro, puedo ayudarte con eso. Para leer los valores de una base de datos Access en VC++ y almacenarlos en un array, puedes seguir estos pasos:

1. Asegúrate de tener instalado el controlador ODBC de Microsoft Access en tu sistema. Puedes descargarlo e instalarlo desde el sitio web oficial de Microsoft.

2. Incluye los archivos de encabezado necesarios en tu código:

1
2
3
#include <windows.h>
#include <sql.h>
#include <sqlext.h>

3. Establece una conexión con la base de datos Access utilizando la función `SQLConnect`:

1
2
3
4
5
6
7
8
SQLHENV henv;
SQLHDBC hdbc;
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
 
SQLCHAR* connectionString = (SQLCHAR*)"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=ruta_de_la_base_de_datos";
SQLConnect(hdbc, connectionString, SQL_NTS, NULL, 0, NULL, 0);

Asegúrate de reemplazar `"ruta_de_la_base_de_datos"` con la ruta real de tu base de datos Access.

4. Ejecuta una consulta SQL para obtener los datos de la tabla:

1
2
3
4
5
SQLHSTMT hstmt;
SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
 
SQLCHAR* query = (SQLCHAR*)"SELECT * FROM nombre_de_la_tabla";
SQLExecDirect(hstmt, query, SQL_NTS);

Asegúrate de reemplazar `"nombre_de_la_tabla"` con el nombre real de tu tabla.

5. Recorre los resultados de la consulta y almacena los valores en un array:

1
2
3
4
5
6
7
SQLCHAR fieldValue[256];
SQLLEN indicator;
 
while (SQLFetch(hstmt) == SQL_SUCCESS) {
    SQLGetData(hstmt, 1, SQL_C_CHAR, fieldValue, sizeof(fieldValue), &indicator);
    // Almacena el valor en el array o realiza cualquier otra operación necesaria
}

Asegúrate de ajustar el tamaño del array `fieldValue` según el tipo y la longitud de los datos que esperas obtener de la base de datos.

6. Cierra la conexión y libera los recursos:

1
2
3
4
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);

Recuerda que este es solo un ejemplo básico para leer los valores de una tabla en una base de datos Access y almacenarlos en un array. Puedes adaptar este código según tus necesidades específicas.

Espero que esta información te sea útil. ¡Buena suerte con tu proyecto!
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