darkdragon

Registrado: 31 Ago 2006 Mensajes: 19 Ubicación: Tucuman
| Publicado: 13/10/2007 7:56 pm | | | Título: Programar libreria para mysql |
| Mi consulta es la siguiente: Quiero realizar una libreria que ejecute comandos en mysql para facilitar la sintaxis, por ejemplo si yo quiero inicializar mysql pongo MYSQL *datos datos = mysql_init(0) quiero que se ejecute con esta sintaxis iniciar_mysql(datos)
Bueno mi problema es que comence a hacer la libreria con algunas funciones para probar y cuando compilo me sale este error: 18 C:\Dev-Cpp\include\eze_mysql.h new types may not be defined in a return type y no tengo ni idea de como solucionarlo me figura en el void iniciar
El codigo fuente de la libreria es este: #include <mysql/mysql.h> #include <mysql/mysqld_error.h> #include <iostream> class sql{ MYSQL *bd; MYSQL_RES *res; MYSQL_ROW *registro; MYSQL_FIELD *columna;}
void iniciar(MYSQL *bd){ bd = mysql_init(0);
}
void conectar_mysql(MYSQL *bd, const char *usuario,const char *clave,const char *base_datos){ if(!mysql_real_connect(bd,"localhost",usuario,clave,base_datos,MYSQL_PORT,NULL,0)){
mysql_close(bd); }
void cerrar_mysql(MYSQL *bd) { mysql_close (bd);
}
void seleccionar_bd(MYSQL *bd, const char a){ if(mysql_select_db(base, a){ cout<<"Error: la base de datos no existe"<<endl; return 2;}}
void ejecutar_mysql(mysql *bd, const char a){ if(mysql_query(bd,a){ cout<<"Error de comando"; return 2;}}
Y del programa para probarlo es este: #include <iostream> #include <windows.h>
#include <cstring> #include <cstdio> #include <eze_mysql.h>
using namespace std;
// Programa principal int main() { MYSQL *mydata; MYSQL_RES *res; MYSQL_ROW row; MYSQL_FIELD *columna; sql base
int i,j,k,l;
//iniciar(base.bd); bd = mysql_init(0) //conectar_mysql(base.bd,"root","123456","prueba"); if(!mysql_real_connect(bd,"localhost","root","123456","prueba",MYSQL_PORT,NULL,0)){ cout<<"Error Usuario o clave incorrecta"; mysql_close(bd);
seleccionar_bd(base.bd,"prueba" ); if(mysql_query(mydata,"select * from gente")){ cout<<"error"; system ("pause"); return 2;} if((base.res = mysql_store_result(base.bd))){ i = mysql_num_rows(base.res); j = mysql_num_fields(base.res); mysql_data_seek(base.res,1); base.row = mysql_fetch_row(base.res); for(k = 0; k<j;k++){ cout<<((base.row[k]=="NULL")?"NULL":base.row[k])<<endl;}} system ("pause"); return 0;} Nota: solamente use dos funciones para probar init_mysql() y mysql_real_connect() lo demas lo programe directamente Uso como compilador el dev-cpp
Gracias por tu ayuda |
|