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


0
#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;
}
g++ -o programa ejemplo.cpp -lsqlite3