C/Visual C - Bases de datos desde C

 
Vista:

Bases de datos desde C

Publicado por Aratar (11 intervenciones) el 14/10/2002 18:04:31
Bueno lo primero gracias y un saludo a todo el foro, no es la primera vez que escribo y siempre me a ido bastante bien vuestra ayuda, yo vengo de programar en basic y visual basic, alguien e puede hechar una mano?
me gustaria saber si puedo utilizar las bases de datos de Acces con un programa hecho en C igual que hago en visual basic, soy novato en esto del C......y si es posible como o de donde puedo sacar algun ejemplo, de nuevo muchas gracias...

Un saludo......
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

Uso de bases de datos de Access en C*

Publicado por Alejandro (913 intervenciones) el 25/03/2025 00:46:57
Sí, Aratar, es posible utilizar bases de datos de Access en un programa hecho en C, aunque el proceso es un poco diferente al de Visual Basic. Para interactuar con una base de datos de Access desde C, puedes utilizar ODBC (Open Database Connectivity) o ADO (ActiveX Data Objects). Aquí te muestro cómo hacerlo utilizando ODBC, que es una opción común.

Pasos para usar ODBC con Access en C:



1. Instalar el controlador ODBC para Access:
- Asegúrate de tener instalado el controlador ODBC para Microsoft Access. Esto generalmente se incluye con Microsoft Office, pero también puedes instalarlo por separado.

2. Configurar una fuente de datos ODBC:
- Ve al Panel de Control de Windows y busca "Orígenes de datos ODBC". Crea un nuevo "DSN" (nombre de fuente de datos) para tu base de datos de Access.

3. Código de ejemplo en C:
Aquí tienes un ejemplo básico de cómo conectarte a una base de datos de Access y realizar una consulta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
 
int main() {
    SQLHENV hEnv;
    SQLHDBC hDbc;
    SQLHSTMT hStmt;
    SQLRETURN ret;
 
    // Inicializar ODBC
    SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
    SQLSetEnvAttr(hEnv, SQL_ATTR_ENVIRONMENT, SQL_OV_ODBC3, 0);
    SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
 
    // Conectar a la base de datos
    const char* dsn = "DSN=TuDSN;"; // Cambia "TuDSN" por el nombre de tu DSN
    ret = SQLDriverConnect(hDbc, NULL, (SQLCHAR*)dsn, SQL_NTS, NULL, 0, NULL, SQL_DRIVER_COMPLETE);
 
    if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {
        printf("Conexión exitosa a la base de datos.\n");
 
        // Crear un manejador de declaración
        SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt);
 
        // Ejecutar una consulta
        ret = SQLExecDirect(hStmt,(SQLCHAR*)"SELECT * FROM TuTabla;", SQL_NTS);
        if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {
            // Procesar resultados aquí
            printf("Consulta ejecutada con éxito.\n");
        } else {
            printf("Error al ejecutar la consulta.\n");
        }
 
        // Liberar recursos
        SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
    } else {
        printf("Error al conectar a la base de datos.\n");
    }
 
    // Desconectar y liberar recursos
    SQLDisconnect(hDbc);
    SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
    SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
 
    return 0;
}

Explicación del código:


- Incluir las bibliotecas necesarias: Se incluyen las bibliotecas de Windows y ODBC.
- Inicializar ODBC: Se inicializa el entorno ODBC y se establece la conexión a la base de datos.
- Ejecutar una consulta: Se ejecuta una consulta SQL y se pueden procesar los resultados.
- Liberar recursos: Se liberan los manejadores y se desconecta de la base de datos.

Recursos adicionales:


- Documentación de ODBC: Puedes consultar la documentación de ODBC (https://docs.microsoft.com/en-us/sql/odbc/) para obtener más información sobre cómo usarlo.
- Ejemplos y tutoriales: Busca tutoriales en línea sobre "C ODBC Access" para encontrar más ejemplos y guías.

Espero que esta información te sea útil para comenzar a trabajar con bases de datos de Access en C.
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