SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: niko24 en Jueves 7 de Abril de 2005, 18:55

Título: Re: Manejos De Base De Datos
Publicado por: niko24 en Jueves 7 de Abril de 2005, 18:55
Hola, soy principiante en esto del C++. Quisiera saber si desde Dev-C++ se pueden manejar bases de datos de Mysql, y si se necesita algo para ello, como un API de Mysql.  :unsure:

Y tambien si saben de alguna pagina donde expliquen un poco el tema este.

Gracias,  :smartass:   :P  

esperando respuestas  :comp:   :whistling:
Título: Re: Manejos De Base De Datos
Publicado por: niko24 en Viernes 8 de Abril de 2005, 00:55
:hola:  Bueno, parece que nadie se atreve a responderme nada, quizas preguntaba algo no muy concreto  <_< .

Ya encontre un codigo: :comp:

#include "windows.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <mysql.h>

int main()
{
      char userName[100];
   char password[100];
   char dbName[100];      
   int connected=0;
   MYSQL *dbHandle;

       dbHandle=mysql_init((MYSQL*)0);
   
       printf("Simple MySql-query-tool\n\n");
       
         printf("\nUser:");
      gets(userName);
      printf("Password:");
      gets(password);
      printf("Database:");
      gets(dbName);
      fflush(stdin);
      
      if(mysql_real_connect(dbHandle,      
              NULL,         
              userName,      
              password,      
              dbName,      
              MYSQL_PORT,   
              NULL,         
              0))
      {
         printf("\n Estamos conectado a %s\n",dbName);
         connected=1;
      }
      else
      {
         printf("\n no conectado \n");
      }
}

Se supone que debe funcionar, pero me da los siguientes errores:

  [Linker error] undefined reference to `mysql_init@4'
  [Linker error] undefined reference to `mysql_real_connect@32'


Alquien podria decirme a que se deben estos errores??  :(
Título: Re: Manejos De Base De Datos
Publicado por: © Jonathan © en Viernes 8 de Abril de 2005, 01:19
Hola, el error es porque no esta definida la variable a la que haces referencia, puede ser que sea porque no existen dentro de la libreria de MySQL, fijatew que alas usas pero no estan declaradas en inguna parte. encontre esto, talves te sea util:

http://www.mysql.com/downloads/api-mysql++.html (http://www.mysql.com/downloads/api-mysql++.html)

MySQL++ es una interfaz (API) de la popular base de datos relacional MySQL para C++.  Su propósito es hacerla funcionar mediante contenedores STL.

Estare buscando mas info, si doy con algo te aviso. Un Abrazo!
Título: Re: Manejos De Base De Datos
Publicado por: niko24 en Viernes 8 de Abril de 2005, 02:57
Gracias ^^ , aunque esa pagina ya la visite.

Me descarge los archivos y los puse. Pero me surje otra duda que es la siguiente, donde debo colocar el archivo de definiciones .def


Un saludo,  :smartass:  Hoy ya hice un gran avance  :whistling:

seguire buscando  :comp:
Título: Re: Manejos De Base De Datos
Publicado por: niko24 en Viernes 8 de Abril de 2005, 10:32
:kicking:   Ya lo hice funcionar!!   :D

Ahora me ha surgido una duda, pues el ejemplo funciona siendo el server localhost.  ¿ Hay alguna forma para indicarle donde esta el server, en el caso de que no quiera que sea localhost ??  :unsure:


Por si a alguien le interesa como resolvi el problema, era por unos archivos que me faltaban de mysql, que eran libmysql.lib, mysql.a, mysql.def.


 
Un saludo  :hola:   :comp:
Título: Re: Manejos De Base De Datos
Publicado por: © Jonathan © en Lunes 11 de Abril de 2005, 08:58
Si, es localhost porque estas trabajando sobre tu misma maquina, para conectar a otra deberas introducir el IP del PC al que conectaras. Saludos
Título: Re: Manejos De Base De Datos
Publicado por: niko24 en Jueves 14 de Abril de 2005, 11:15
Gracias por todo  :P , ya conseguí ponerlo.


Solo tube que cambiar:

printf("\nServidor:");
gets(dbIP);
printf("\nUsuario:");
gets(userName);
printf("Password:");
gets(password);
printf("Base de Datos:");
gets(dbName);
fflush(stdin);

if(mysql_real_connect(dbHandle,
dbIP,
userName,
password,
dbName,
MYSQL_PORT,
NULL,
0))


Hasta aqui todo perfecto.  

 :rolleyes:  Ahora me estaba preguntando si podria cambiar el aspecto de la ventana, es decir, que no sea modo texto cuando me pregunte por los datos.
Que quedara como en una ventana de windows. ¿se puede  :unsure: ?

¿Me podrias orientar Jonathan, para saber que debo de buscar? ... que comandos, o algun ejemplo, o alguna pagina web  :smartass:

Saludos
Título: Re: Manejos De Base De Datos
Publicado por: pete en Viernes 21 de Octubre de 2005, 07:43
Hola:

Creo ke tengo el mismo problema ke tu para conectarme a mysql, y en el foro vi ke ya te lograste conectar, podrías poner tu codigo en el foro, te lo agradeceria mucho.

Adios :huh: