<div>Hi!!!, ¿k tal?, bueno tengo una consulta para ustedes, estoy haciendo un programa que usa MySQL y no me conecta a la base de datos, el programa me compila perfecto y tambien me crea el ejecutable sin problemas, cree el usuario "popopo" para la base de datos "restorant" pero cuando uso mysql_real_connect() me manda un error de que no se pudo conectar, cree el usuario en MySQL de la siguiente forma :</div> <div> </div> <div>GRANT ALL ON restorant.* to popopo IDENTIFIED BY 'hikaru87';</div> <div> </div> <div>Me la crea perfectamente, sin ningun error, pero cuando llamo a la base de datos con el siguiente codigo no me funciona:</div> <div> </div> <div><STRONG>CreaBaseDatos(hwnd, NULL, "popopo", "hikaru87");</STRONG></div> <div> </div> <div><STRONG><EM>Uso la version 6.0 de MySQL con wxDev-C++ 6.10.2</EM></STRONG></div> <div> </div> <div>El codigo que llama es el siguiente :</div> <div> </div> <div>#include
<string><BR>#include <windows.h><BR>#include <commctrl.h><BR>#include <mysql/mysql.h></div> <div> </div> <div>MYSQL *MisDatos;<BR>MYSQL_RES Respuesta;</div> <div> </div> <div>bool ExisteTabla(MYSQL *, char *, char *);<BR></div> <div>bool ExisteTabla(MYSQL *MiDato, char *mibase, char *mitabla)<BR>{<BR> char * consulta;<BR> char *plantilla = "SHOW TABLES FROM %s LIKE \'%s\'";<BR> MYSQL_RES *res;<BR> bool valorret = true;</div> <div> consulta = new char[strlen(mibase)+ strlen(mitabla)+ strlen(plantilla)-1];<BR> sprintf(consulta, plantilla, mibase, mitabla);</div> <div> if (!mysql_query(MiDato, consulta)){<BR> if ((res = mysql_store_result(MiDato))){<BR> if (!mysql_num_rows(res)) valorret = false;<BR> mysql_free_result(res);<BR> }<BR> }<BR> delete[] consulta;<BR> return
valorret;<BR>}</div> <div> </div> <div>bool CreaBaseDatos(HWND hwnd, char *maquina, char *usuario, char *clave)<BR>{<BR> char Plantilla[30];<BR> if (!(MisDatos = mysql_init(0))){<BR> return false;<BR> }<BR> if (!mysql_real_connect(MisDatos, maquina, usuario, clave, "restorant", MYSQL_PORT, NULL, 0)){<BR> sprintf(Plantilla, "Error : %05d", mysql_error(MisDatos));<BR> MessageBox (hwnd, Plantilla, "Chanchichó", MB_ICONEXCLAMATION);<BR> mysql_close(MisDatos);<BR> return false;<BR> }</div> <div><BR> /* Se empieza a crear la base de datos*/<BR> mysql_query(MisDatos, "CREATE DATABASE Restorant");<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Usuarios
("<BR> "rut VARCHAR(15), "<BR> "nombre VARCHAR(30), "<BR> "apellidos VARCHAR(30), "<BR> "direccion VARCHAR(50), "<BR> "fono VARCHAR(15), "<BR> "email
VARCHAR(40), "<BR> "cargo VARCHAR(30), "<BR> "login VARCHAR(20), "<BR> "clave VARCHAR(15), "<BR> "nacimiento DATE, "<BR> "PRIMARY KEY (rut)) "<BR>
"ENGINE=InnoDB");<BR> if (!ExisteTabla(MisDatos, "Restorant", "Usuarios")) return false;<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Producto ("<BR> "codigo VARCHAR(15), "<BR> "descripcion VARCHAR(50), "<BR> "tipo VARCHAR(20), "<BR> "cantidad INT NOT NULL DEFAULT 0, "<BR>
"Pesolitro INT NOT NULL DEFAULT 0, "<BR> "fingreso DATE, "<BR> "fvencimiento DATE, "<BR> "pcosto INT NOT NULL DEFAULT 0, "<BR> "PRIMARY KEY (codigo)) "<BR> "ENGINE=InnoDB");<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Menu
("<BR> "codigo VARCHAR(15), "<BR> "descripcion VARCHAR(50), "<BR> "precioneto INT NOT NULL DEFAULT 0, "<BR> "PRIMARY KEY (codigo)) "<BR> "ENGINE=InnoDB");<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Receta
("<BR> "codigomenu VARCHAR(15), "<BR> "codigoingrediente VARCHAR(15), "<BR> "Descripcion VARCHAR(30) "<BR> "FOREIGN KEY (codigomenu) REFERENCES Menu (codigo) "<BR> "ON DELETE CASCADE ON UPDATE CASCADE)
"<BR> "ENGINE=InnoDB");<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Ingrediente ("<BR> "codigoingrediente VARCHAR(15), "<BR> "codigoproducto VARCHAR(15), "<BR> "cantidad INT NOT NULL DEFAULT 0, "<BR> "pesolitro INT NOT NULL DEFAULT 0,
"<BR> "PRIMARY KEY (codigoingrediente), "<BR> "FOREIGN KEY (codigoproducto) REFERENCES Producto (codigo) "<BR> "ON DELETE CASCADE ON UPDATE CASCADE) "<BR> "ENGINE=InnoDB");<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Boleta ("<BR> "nroboleta VARCHAR(15),
"<BR> "femision DATE, "<BR> "iva INT NOT NULL DEFAULT 19, "<BR> "montototal INT NOT NULL DEFAULT 0, "<BR> "descuento INT NOT NULL DEFAULT 0, "<BR> "tipodescuento VARCHAR(15),
"<BR> "PRIMARY KEY (nroboleta), "<BR> "FOREIGN KEY (codigoproducto) REFERENCES Producto (codigo) "<BR> "ON DELETE CASCADE ON UPDATE CASCADE) "<BR> "ENGINE=InnoDB");<BR> mysql_query(MisDatos, "CREATE TABLE Restorant.Detalle ("<BR> "nroboleta VARCHAR(15),
"<BR> "codigomenu VARCHAR(15), "<BR> "FOREIGN KEY (nroboleta) REFERENCES Boleta (nroboleta) "<BR> "ON DELETE CASCADE ON UPDATE CASCADE) "<BR> "ENGINE=InnoDB");<BR> mysql_close(MisDatos);<BR> return true;<BR>}<BR></div> <div>La verdad ya trate varias formas de conectarme a MySQL pero nada me funciona, no se la verdad donde está mi error, cualkier guia o ayuda lo agradeceré mucho.</div> <div> </div>
<div>Salu2.</div><BR><BR><STRONG><FONT face=verdana>Entre más numerosos somos, más cerca estamos de nuestra propia extinción. <BR></FONT></STRONG><BR><FONT color=#0000ff>http://bisbirudolfo.blogspot.com/</FONT><p>
<hr size=1><br><font face="Verdana" size="-2">Web Revelación Yahoo! 2007:<br> Premio Favorita del Público - <a href="http://es.promotions.yahoo.com/revelacion2007/favoritos/">¡Vota tu preferida!</a></font>