#include "mysql_procs.h" MYSQL_RES *busqueda_por_datos(char campo[],char valor[],MYSQL *base_de_datos,int estricto) { char peticion[MAXIMO]; /* Tengo que declararlo antes porque si no peta! */ MYSQL_RES *resultado; peticion[0]='\0'; strcat(peticion,"SELECT * FROM datos WHERE "); strcat(peticion, campo); strcat(peticion," LIKE "); strcat(peticion, "\""); if (!estricto) strcat(peticion, "%"); strcat(peticion,valor); if (!estricto) strcat(peticion, "%"); strcat(peticion,"\" ORDER BY id"); printf("Hemos enviado la petición %s\n",peticion); if (!mysql_real_connect(base_de_datos,NULL,NULL,NULL,"Norton",0,NULL,0)) { printf("ERROR No se pudo conectar a la base de datos. Puede que 'mysqld' haya caído.\n"); return; } if(mysql_query(base_de_datos,peticion)==0) { resultado=mysql_store_result(base_de_datos); } else { if (base_de_datos != NULL) { printf("ERROR Buscando por datos de cliente: falta de forma en la petición.\n"); return; } else { printf("ERROR No se ha cargado correctamente la base de datos.\n"); return; } } if(mysql_num_rows(resultado)==(unsigned long)0) resultado=NULL; printf("Hemos acabado la busqueda!\n"); return resultado; } MYSQL_RES *busqueda_por_pedidos(char campo[],char valor[],MYSQL *base_de_datos) { char peticion[MAXIMO]; MYSQL_RES * resultado; strcat(peticion,"CREATE TEMPORARY TABLE tmp SELECT id FROM compra WHERE "); strcat(peticion,campo); strcat(peticion," LIKE "); strcat(peticion,"\"%"); strcat(peticion,valor); strcat(peticion,"%\" ORDER BY id"); if (!mysql_real_connect(base_de_datos,NULL,NULL,NULL,"Norton",0,NULL,0)) { printf("ERROR No se pudo conectar a la base de datos. Puede que 'mysqld' haya caído.\n"); return; } if(mysql_query(base_de_datos,peticion) != 0) { printf("ERROR Con la creación de la tabla temporal para buscar por Pedidos.\n"); return; } peticion[0]='\0'; strcat(peticion,"SELECT * FROM datos,tmp WHERE datos.id = tmp.id ORDER BY datos.id"); if(mysql_query(base_de_datos,peticion)==0) { resultado=mysql_store_result(base_de_datos); peticion[0]='\0'; strcat(peticion,"DROP TABLE tmp"); if(mysql_query(base_de_datos,peticion)!=0) { printf("ERROR No se pudo liberar de memoria la tabla temporal.\n"); return; } } else { if (base_de_datos != NULL) { printf("ERROR Buscando por datos de cliente: falta de forma en la petición.\n"); return; } else { printf("ERROR No se ha cargado correctamente la base de datos.\n"); return; } } if(mysql_num_rows(resultado)==(unsigned long)0) resultado=NULL; return resultado; } int existe(char * id,MYSQL * base_de_datos) { if(busqueda_por_datos("id",id,base_de_datos,TRUE)==NULL) return 0; else /* Ya existe el registro*/ return 1; } void insertar_datos_en_BBDD(char * entries_datos[],MYSQL * base_de_datos) { char peticion[MAXIMO]; printf("Vamos a insertar"); sprintf(peticion,"INSERT INTO datos VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", entries_datos[0],entries_datos[1],entries_datos[2],entries_datos[3], entries_datos[4],entries_datos[5],entries_datos[6],entries_datos[7], entries_datos[8],entries_datos[9],entries_datos[10],entries_datos[11], entries_datos[12],entries_datos[13]); printf("La peticion es: %s",peticion); /* if (!mysql_real_connect(base_de_datos,NULL,NULL,NULL,"Norton",0,NULL,0)) { printf("ERROR No se pudo conectar a la base de datos. Puede que 'mysqld' haya caído.\n"); return; } */ if(mysql_query(base_de_datos,peticion)!=0) { if (base_de_datos != NULL) { printf("ERROR Buscando por datos de cliente: falta de forma en la petición.\n"); return; } else { printf("ERROR No se ha cargado correctamente la base de datos.\n"); return; } } } void insertar_pedido_en_BBDD(char * id,char *pedido[],MYSQL * base_de_datos) { char peticion[MAXIMO]; sprintf(peticion,"INSERT INTO compra VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", id,pedido[0],pedido[1],pedido[2],pedido[3], pedido[4],pedido[5],pedido[6],pedido[7], pedido[8],pedido[9],pedido[10],pedido[11]); /*if (!mysql_real_connect(base_de_datos,NULL,NULL,NULL,"Norton",0,NULL,0)) printf("ERROR No se pudo conectar a la base de datos. Puede que 'mysqld' haya caído.\n");*/ if(mysql_query(base_de_datos,peticion)!=0) { if (base_de_datos != NULL) { printf("ERROR Buscando por datos de cliente: falta de forma en la petición.\n"); return; } else { printf("ERROR No se ha cargado correctamente la base de datos.\n"); return; } } } void borra_registro(char * id,MYSQL * base_de_datos) { char peticion[MAXIMO]; peticion[0]='\0'; strcat(peticion,"DELETE FROM datos WHERE id=\""); strcat(peticion,id); strcat(peticion,"\""); printf("Vamos a borrar con: %s\n",peticion); if(mysql_query(base_de_datos,peticion)!=0) { if (base_de_datos != NULL) { printf("ERROR Buscando por datos de cliente: falta de forma en la petición.\n"); return; } else { printf("ERROR No se ha cargado correctamente la base de datos.\n"); return; } } peticion[0]='\0'; strcat(peticion,"DELETE FROM compra WHERE id=\""); strcat(peticion,id); strcat(peticion,"\""); printf("Vamos a borrar con: %s\n",peticion); if(mysql_query(base_de_datos,peticion)!=0) { if (base_de_datos != NULL) { printf("ERROR Buscando por datos de cliente: falta de forma en la petición.\n"); return; } else { printf("ERROR No se ha cargado correctamente la base de datos.\n"); return; } } printf("Borrado!"); }