Codigo Para la conexion de C++ con MySQL

La empresa Agustin Company facilito por medio de su blog un codigo para esta conexion:

#include cstring> // lo colocan entre < > 
#include "/usr/include/mysql/mysql.h"

   MYSQL *mysql;

   system("ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock");

   mysql = new MYSQL;

   if (!mysql_init(mysql)){
       cerr<<"Init : "<< mysql_error(mysql);
    }
   mysql = mysql_real_connect(mysql,"localhost",user,pass,"conocimiento",0,NULL,0);  //Enlazando base de datos

//REALIZANDO UNA CONSULTA
    MYSQL_RES *res;
    MYSQL_ROW row;
   string SQL;

    SQL = "SELECT * FROM pregunta";

    mysql_real_query(mysql,SQL.c_str(),SQL.length());
    res = mysql_store_result(mysql);

    while ((row = mysql_fetch_row(res)))
    {
        cout << row[0] << " " << row[1] <<  endl;
    }

//PARA COMPILAR
g++ -o nombre_ejecutable   nombre_archivo.cpp   -I/usr/include/mysql/     -L/var/lib/mysl -lmysqlclient

Este código en mi particular no funciono.
Así que busque otro para probar si funcionaba la conexión, y el resultado exitoso es el siguiente:

#include
#include
#include
using namespace std;

int main() {
   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;


   conn = mysql_init(NULL);

   /* Connect to database */
   if (!mysql_real_connect(conn,"host","usuario","clave","nombre de la base de datos", 0,NULL,0)) {
      cout<<(stderr, "%s\n", mysql_error(conn));
      return(1);
   }

   /* send SQL query */

   if (mysql_query(conn, "show tables")) { //donde dice show tables se sustituye por lo que se quiera ver de la base de datos
      cout<<(stderr, "%s\n", mysql_error(conn));
      return(1);
   }


res = mysql_use_result(conn);

   /* output table name */
   cout<<("MySQL Tables in database:\n")<
   while ((row = mysql_fetch_row(res)) != NULL)
      cout<<("%s \n", row[0])<

   /* close connection */
   mysql_free_result(res);
   mysql_close(conn);
return 0;
}


0 comentarios:

Publicar un comentario