#include <iostream>
#include <Windows.h>
#include <string>
#include <sstream>
#include <msclr/marshal.h>
#include <msclr/marshal_cppstd.h>
#include <OleDb.h>
using namespace System;
using namespace System::Data;
using namespace System::Data::OleDb;
using namespace msclr::interop;
void InsertarDatosEnAccess(String^ nombre, String^ apellido, int edad)
{
// Cadena de conexión para la base de datos Access
String^ connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TuArchivoAccess.accdb;Persist Security Info=False;";
// Crear una conexión OleDb
OleDbConnection^ conexion = gcnew OleDbConnection(connectionString);
try
{
// Abrir la conexión
conexion->Open();
// Crear la consulta SQL de inserción
String^ consulta = "INSERT INTO TuTabla (Nombre, Apellido, Edad) VALUES (?, ?, ?)";
// Crear el comando OleDb con la consulta y la conexión
OleDbCommand^ comando = gcnew OleDbCommand(consulta, conexion);
// Parámetros para evitar la inyección de SQL
comando->Parameters->Add(gcnew OleDbParameter("Nombre", OleDbType::WChar))->Value = nombre;
comando->Parameters->Add(gcnew OleDbParameter("Apellido", OleDbType::WChar))->Value = apellido;
comando->Parameters->Add(gcnew OleDbParameter("Edad", OleDbType::Integer))->Value = edad;
// Ejecutar la consulta de inserción
comando->ExecuteNonQuery();
Console::WriteLine("Datos insertados correctamente.");
}
catch (Exception^ ex)
{
Console::WriteLine("Error al insertar datos: " + ex->Message);
}
finally
{
// Cerrar la conexión
if (conexion->State == ConnectionState::Open)
conexion->Close();
}
}
int main()
{
// Ejemplo de uso
InsertarDatosEnAccess("Juan", "Pérez", 25);
return 0;
}