C/Visual C - base de datos

 
Vista:

base de datos

Publicado por manuel (1 intervención) el 27/09/2002 06:38:29
como se hace un programa con base de datos en c++
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

Creación de un programa con base de datos en C++ usando SQLite

Publicado por Alejandro (913 intervenciones) el 24/03/2025 18:23:18
Manuel, para crear un programa en C++ que interactúe con una base de datos, puedes seguir estos pasos generales. A continuación, te proporcionaré un ejemplo utilizando SQLite, que es una base de datos ligera y fácil de usar.

Pasos para crear un programa con base de datos en C++



1. Instalar SQLite: Asegúrate de tener la biblioteca SQLite instalada en tu sistema. Puedes descargarla desde el sitio oficial de SQLite (https://www.sqlite.org/download.html).

2. Incluir las bibliotecas necesarias: En tu código, necesitarás incluir las cabeceras de SQLite.

3. Configurar el proyecto: Si estás utilizando un IDE como Code::Blocks o Visual Studio, asegúrate de agregar la biblioteca SQLite a tu proyecto.

4. Escribir el código: A continuación, te muestro un ejemplo básico de cómo crear una base de datos, crear una tabla, insertar datos y realizar una consulta.

Ejemplo de código



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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <sqlite3.h>
 
int main() {
    sqlite3* db;
    char* errorMessage = 0;
 
    // Abrir la base de datos (se crea si no existe)
    int exit = sqlite3_open("ejemplo.db", &db);
    if (exit) {
        std::cerr << "Error al abrir la base de datos: " << sqlite3_errmsg(db) << std::endl;
        return -1;
    } else {
        std::cout << "Base de datos abierta exitosamente." << std::endl;
    }
 
    // Crear una tabla
    const char* sqlCreateTable = "CREATE TABLE IF NOT EXISTS Usuarios ("
                                  "ID INTEGER PRIMARY KEY AUTOINCREMENT, "
                                  "Nombre TEXT NOT NULL, "
                                  "Edad INTEGER NOT NULL);";
 
    exit = sqlite3_exec(db, sqlCreateTable, 0, 0, &errorMessage);
    if (exit != SQLITE_OK) {
        std::cerr << "Error al crear la tabla: " << errorMessage << std::endl;
        sqlite3_free(errorMessage);
    } else {
        std::cout << "Tabla creada exitosamente." << std::endl;
    }
 
    // Insertar datos
    const char* sqlInsert = "INSERT INTO Usuarios (Nombre, Edad) VALUES ('Juan', 30);";
    exit = sqlite3_exec(db, sqlInsert, 0, 0, &errorMessage);
    if (exit != SQLITE_OK) {
        std::cerr << "Error al insertar datos: " << errorMessage << std::endl;
        sqlite3_free(errorMessage);
    } else {
        std::cout << "Datos insertados exitosamente." << std::endl;
    }
 
    // Consultar datos
    const char* sqlSelect = "SELECT * FROM Usuarios;";
    sqlite3_stmt* stmt;
 
    exit = sqlite3_prepare_v2(db, sqlSelect, -1, &stmt, 0);
    if (exit != SQLITE_OK) {
        std::cerr << "Error al preparar la consulta: " << sqlite3_errmsg(db) << std::endl;
    } else {
        std::cout << "Resultados de la consulta:" << std::endl;
        while (sqlite3_step(stmt) == SQLITE_ROW) {
            int id = sqlite3_column_int(stmt, 0);
            const char* nombre = (const char*)sqlite3_column_text(stmt, 1);
            int edad = sqlite3_column_int(stmt, 2);
            std::cout << "ID: " << id << ", Nombre: " << nombre << ", Edad: " << edad << std::endl;
        }
    }
 
    // Finalizar la consulta
    sqlite3_finalize(stmt);
 
    // Cerrar la base de datos
    sqlite3_close(db);
    return 0;
}

Compilación



Para compilar este programa, asegúrate de enlazar la biblioteca SQLite. Si estás usando `g++`, el comando sería algo como:

1
g++ -o programa ejemplo.cpp -lsqlite3

Ejecución



Una vez compilado, puedes ejecutar el programa. Este creará una base de datos llamada `ejemplo.db`, creará una tabla llamada `Usuarios`, insertará un registro y luego consultará e imprimirá los registros de la tabla.

Conclusión



Este es un ejemplo básico de cómo crear un programa en C++ que interactúe con una base de datos utilizando SQLite. Puedes expandir este ejemplo para incluir más funcionalidades, como actualizaciones y eliminaciones de registros, así como manejar errores de manera más robusta.
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