Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: el_porra en 14 Septiembre 2011, 15:43 pm



Título: conectar base de datos mysql en w7 (solucionado)
Publicado por: el_porra en 14 Septiembre 2011, 15:43 pm
hola! no se si a alguien le paso, desarrolle un programa en c++ en zinjai con mingw.
en windows xp corre barbaro, peo cuando lo paso a w7 compila perfecto pero no se conecta a la base de datos, abre el programa y al hacer la primer consulta se cuelga. las librerias que uso son las libmysql.lib libmysql.dll que vienen con el servidor y el libmysql.a el cual lo creé en xp para usar en mingw (en w7 cuando trato de crear esa libreria la salida es un archivo que pesa 0bytes).

una parte del codigo que conecta la base seria este
funcion que conecta la base de datos y devuelve la conexion
Código:
bool conectarmysql1(MYSQL* &conn){
conn=mysql_init(NULL);
return mysql_real_connect(conn,"localhost","root","1234","agrotech", 0, NULL, 0);

};


funcion que obtiene datos de la base y completa una grilla de una ventana wxwidgets
Código:
void VentanaPrincipal::llenar_arrendatarios(){

MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW vec;



if(conectarmysql1(conn)){

mysql_query(conn,"select * from arrendatario");
res = mysql_store_result( conn );
int i=0;
if(grillo->GetNumberRows()<mysql_num_rows(res)){
                 grillo->AppendRows(mysql_num_rows(res)-grillo->GetNumberRows());}
while(vec = mysql_fetch_row(res)){
grillo->SetCellValue(i, 0, vec[4]);
grillo->SetCellValue(i, 1, vec[0]);
grillo->SetCellValue(i, 2, vec[1]);
grillo->SetCellValue(i, 3, vec[2]);
grillo->SetCellValue(i, 4, vec[3]);
grillo->SetCellValue(i, 5, vec[5]);
i++;
}
grillo->ForceRefresh();
mysql_close(conn);
}
delete conn;
delete res;

}


las tablas existen, puse directamente usuario root y contraseña para ver si era eso, pero nada, como decia en xp hace bien todas las consultas pero en w7 no hace nada.
ojala alguien sepa cual puede se el problema talvez alguna libreria que falte. gracias!!!


Título: Re: conectar base de datos mysql en w7 (problema)
Publicado por: el_porra en 15 Septiembre 2011, 17:33 pm
ya lo pude hacer andar  ;D. el problema era que al final de cada funcion borraba los punteros conn y res que me parecia logico, pero parece que no habia que hacerlo. Ahora si funciona, solo me queda la duda de porque en xp si anduvo y en linux tambien.
si alguien quiere el libmysql.a para el mingw lo dejo aca
http://www.mediafire.com/?t53bo9wdb3179ug (http://www.mediafire.com/?t53bo9wdb3179ug)