[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