Leer datos MySQL desde C++ sobre Linux

Tux Programming Resulta que algunas veces es necesario acceder desde C++ a MySQL, razones hay muchas…. el asunto es como hacerlo.

Esta mañana intenté hacer una conexion sobre Fedora Core 3 con C++, tengo instalado MySQL 5.0.17, y mysql-devel 5.0.18 ( Todo eso lo pueden descargar de http://dev.mysql.com )

El codigo no es gran cosa, pero puede servir a muchos.

Enjoy!

//conexion.cpp

#include <iostream.h>
#include <mysql.h>

int main()
{
    MYSQL mysql;

    mysql_init(&mysql);
    if (!mysql_real_connect(&mysql
		,"localhost"
		,"root"
		,""
		,"munipuno",0,NULL,0))
    {
        cerr<<"Horror ! : "
			<<mysql_error(&mysql));
    }
    char *query = "select * from maestro_departamentos";

    mysql_real_query(&mysql,query,strlen(query));
    MYSQL_RES *res = mysql_store_result(&mysql);
    MYSQL_ROW row;

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

    mysql_close(&mysql);
    return 0;
}

Parametros gcc para compilar este programa.

gcc conexion.cpp -o conexion -Wno-deprecated
           -I/usr/include/mysql -L/usr/lib/mysql
           -lmysqlclient -lstdc++ -lz

El resultado de este programa es el siguiente:

[ivancp@servidor1 cpp]# ./conexion
01 AMAZONAS
02 ANCASH
03 APURIMAC
04 AREQUIPA
05 AYACUCHO
06 CAJAMARCA
07 CALLAO
08 CUSCO
09 HUANCAVELICA
10 HUANUCO
11 ICA
12 JUNIN
13 LA LIBERTAD
14 LAMBAYEQUE
15 LIMA
16 LORETO
17 MADRE DE DIOS
18 MOQUEGUA
19 PASCO
20 PIURA
21 PUNO
22 SAN MARTIN
23 TACNA
24 TUMBES
25 UCAYALI

4 comments ↓

#1 perkhus on 02.09.06 at 7:56 am

Interesante tip, aunke hace buen tiempo que deje de programar aplicaciones de pc, ahora estoy mas embebido en aplicaciones web(php), pero tmb soy muy amante de tuxito, y por lo mismo, voy hacer la prueba.

PD: de casualidad encontre tu blog (http://www.populicias.com/verNoticia.php?id=767&nv=20), estoy suscrito a ww.populicias.com y ahi estabas, jajaja, jajaj, y el copyright. De todos modos te agregue a mi lector web(www.bloglines.com), pues tienes algunos post muy inte interesantes, solo saludos. bye

#2 Renzo on 11.14.06 at 7:39 pm

hola
Deseaba hacer una coneccion pero usando c++ builder je luego descubri que no se podia por el tipo de formato como la hago sin usar odc o como incluyo la libreria mysql

#3 juan on 10.09.07 at 11:37 am

muy bueno!, es justo lo que necesitaba, pensaba que usar una base mysql en c seria un dolor de cabeza, pero es mas facil de lo que pensaba,mil gracias!!

#4 lyonn on 11.28.07 at 11:59 pm

Muy bueno, sólo que aún con algunos errores

Leave a Comment