MySql en c++, Ayuda!!

Iniciado por zeedllex, 19 Noviembre 2014, 02:09 AM

0 Miembros y 1 Visitante están viendo este tema.

zeedllex

Hola Colegas, actualmente me encuentro en la preparatoria y me han dejado una tarea, Crear base de datos Mysql desde C++.
Hize este programa que establece la conexion y crea correctamente la base de datos:


//-------------------------------------------------------------------
//Ejemplo que sirve para crear una base de datos de MYSQL desde C++
//-------------------------------------------------------------------   CREAR BASE DE DATOS
#include <iostream>
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
using namespace  sql;
using namespace  std;

//Construir: g++ -Wall -o "%e" "%f" -I/usr/include/cppconn -L/usr/lib -lmysqlcppconn

int main(){
               sql::Driver     *d;//creo el apuntador al driver
               sql::Connection *con;   //creo el apuntador a la conexion
               sql::Statement  *stmt;  //creo el apuntador a las instrucciones mysql
               sql::ResultSet  *res;   //creo el apuntador a los resultados de las instrucciones mysql
      
      try{
      d=get_driver_instance();
      con=d->connect("tcp://127.0.0.1:3306","root","");
         }catch(sql::SQLException &e)
                {
                  cout << "# ERR: SQLException in: " << __FILE__;
                  cout << "(" << __FUNCTION__ << ") on line:"<< __LINE__ << endl;
                  cout << "# ERR: " << e.what();
                  cout << " (MySQL error code:" << e.getErrorCode();
                  cout << ", SQLState: " << e.getSQLState() << " )" << endl;
               }//fin del try-catch
                     
      cout<<"\n Se conecto con exito al Servidor de Mysql\n";
      
//_____________________Crear una base de datos_____________________
//-----------------------------------------------------------------   
         try{
         stmt = con->createStatement();
         res = stmt->executeQuery("CREATE DATABASE BDcxx21");
         con->setSchema("BDcxx21");//USE BDcxx21;
         
            }catch(sql::SQLException &e)
                {
                  
                
                  cout<<"Exito"<<endl;
                           

               }//fin del try-catch
            
   
      
      delete stmt;
      delete res;
      delete con;
      //delete d;
      return 0;

      }


Ahora mi duda es como hacer que el usuario pueda capturar el nombre de la base de datos.
Si alguien me puede aconsejar, se lo agradeceria mucho.
Pd: Se que se debe usar algo llamado Prepared Statment, lo lei en el manual pero no entiendo como implementarlo.
Gracias