[C con Clase] Problema con MySQL

JORGE arboleyda villalvao arboljorge en hotmail.com
Mar Ene 15 18:54:32 CET 2008


 
 
 
hola pues aqui te mando algo similar lo malo que yo lo hice en php para  subirlo a internet
 
POR QUE NO LO HACES EN PHP?
PUES ESPERO QUE TE SIRVA DE ALGO
 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Documento sin título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><?phpfunction conectarse(){if(!($link=mysql_connect("localhost"))){echo "Error";exit();}if(!mysql_select_db("empleados",$link)){echo "Error";exit();}return $link;}$link=conectarse();echo"La conexion con la base de datos fue un Exito.<br>";//mysql_close($link);//cierra la coneccion?>
</body></html>
 
 


Date: Tue, 15 Jan 2008 17:21:17 +0100From: kyosuke_cl en yahoo.esTo: cconclase en listas.conclase.netSubject: [C con Clase] Problema con MySQL
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 :
 
GRANT ALL ON restorant.* to popopo IDENTIFIED BY 'hikaru87';
 
Me la crea perfectamente, sin ningun error, pero cuando llamo a la base de datos con el siguiente codigo no me funciona:
 
CreaBaseDatos(hwnd, NULL, "popopo", "hikaru87");
 
Uso la version 6.0 de MySQL con wxDev-C++ 6.10.2
 
El codigo que llama es el siguiente :
 
#include <string>#include <windows.h>#include <commctrl.h>#include <mysql/mysql.h>
 
MYSQL *MisDatos;MYSQL_RES Respuesta;
 
bool ExisteTabla(MYSQL *, char *, char *);
bool ExisteTabla(MYSQL *MiDato, char *mibase, char *mitabla){ char * consulta; char *plantilla = "SHOW TABLES FROM %s LIKE \'%s\'"; MYSQL_RES *res; bool valorret = true;
 consulta = new char[strlen(mibase)+ strlen(mitabla)+ strlen(plantilla)-1]; sprintf(consulta, plantilla, mibase, mitabla);
 if (!mysql_query(MiDato, consulta)){    if ((res = mysql_store_result(MiDato))){       if (!mysql_num_rows(res)) valorret = false;       mysql_free_result(res);    } } delete[] consulta; return valorret;}
 
bool CreaBaseDatos(HWND hwnd, char *maquina, char *usuario, char *clave){  char Plantilla[30];  if (!(MisDatos = mysql_init(0))){      return false;  }  if (!mysql_real_connect(MisDatos, maquina, usuario, clave, "restorant", MYSQL_PORT, NULL, 0)){      sprintf(Plantilla, "Error : %05d", mysql_error(MisDatos));      MessageBox (hwnd, Plantilla, "Chanchichó", MB_ICONEXCLAMATION);      mysql_close(MisDatos);      return false;  }
  /* Se empieza a crear la base de datos*/  mysql_query(MisDatos, "CREATE DATABASE Restorant");  mysql_query(MisDatos, "CREATE TABLE Restorant.Usuarios ("                        "rut VARCHAR(15), "                        "nombre VARCHAR(30), "                        "apellidos VARCHAR(30), "                        "direccion VARCHAR(50), "                        "fono VARCHAR(15), "                        "email VARCHAR(40), "                        "cargo VARCHAR(30), "                        "login VARCHAR(20), "                        "clave VARCHAR(15), "                        "nacimiento DATE, "                        "PRIMARY KEY (rut)) "                        "ENGINE=InnoDB");  if (!ExisteTabla(MisDatos, "Restorant", "Usuarios")) return false;  mysql_query(MisDatos, "CREATE TABLE Restorant.Producto ("                        "codigo VARCHAR(15), "                        "descripcion VARCHAR(50), "                        "tipo VARCHAR(20), "                        "cantidad INT NOT NULL DEFAULT 0, "                        "Pesolitro INT NOT NULL DEFAULT 0, "                        "fingreso DATE, "                        "fvencimiento DATE, "                        "pcosto INT NOT NULL DEFAULT 0, "                        "PRIMARY KEY (codigo)) "                        "ENGINE=InnoDB");  mysql_query(MisDatos, "CREATE TABLE Restorant.Menu ("                        "codigo VARCHAR(15), "                        "descripcion VARCHAR(50), "                        "precioneto INT NOT NULL DEFAULT 0, "                        "PRIMARY KEY (codigo)) "                        "ENGINE=InnoDB");  mysql_query(MisDatos, "CREATE TABLE Restorant.Receta ("                        "codigomenu VARCHAR(15), "                        "codigoingrediente VARCHAR(15), "                        "Descripcion VARCHAR(30) "                        "FOREIGN KEY (codigomenu) REFERENCES Menu (codigo) "                        "ON DELETE CASCADE ON UPDATE CASCADE) "                        "ENGINE=InnoDB");  mysql_query(MisDatos, "CREATE TABLE Restorant.Ingrediente ("                        "codigoingrediente VARCHAR(15), "                        "codigoproducto VARCHAR(15), "                        "cantidad INT NOT NULL DEFAULT 0, "                        "pesolitro INT NOT NULL DEFAULT 0, "                        "PRIMARY KEY (codigoingrediente), "                        "FOREIGN KEY (codigoproducto) REFERENCES Producto (codigo) "                        "ON DELETE CASCADE ON UPDATE CASCADE) "                        "ENGINE=InnoDB");  mysql_query(MisDatos, "CREATE TABLE Restorant.Boleta ("                        "nroboleta VARCHAR(15), "                        "femision DATE, "                        "iva INT NOT NULL DEFAULT 19, "                        "montototal INT NOT NULL DEFAULT 0, "                        "descuento INT NOT NULL DEFAULT 0, "                        "tipodescuento VARCHAR(15), "                        "PRIMARY KEY (nroboleta), "                        "FOREIGN KEY (codigoproducto) REFERENCES Producto (codigo) "                        "ON DELETE CASCADE ON UPDATE CASCADE) "                        "ENGINE=InnoDB");  mysql_query(MisDatos, "CREATE TABLE Restorant.Detalle ("                        "nroboleta VARCHAR(15), "                        "codigomenu VARCHAR(15), "                        "FOREIGN KEY (nroboleta) REFERENCES Boleta (nroboleta) "                        "ON DELETE CASCADE ON UPDATE CASCADE) "                        "ENGINE=InnoDB");  mysql_close(MisDatos);  return true;}
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.
 
Salu2.Entre más numerosos somos, más cerca estamos de nuestra propia extinción. http://bisbirudolfo.blogspot.com/ 


Web Revelación Yahoo! 2007:Premio Favorita del Público - ¡Vota tu preferida!
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080115/ac5fcfcf/attachment.html>


Más información sobre la lista de distribución Cconclase