void search(){ memmove(&comingbuf[0],&comingbuf[1], 1); char *searchW = strtok(comingbuf,"%"); selectSQL("entries",searchW); resultEV(); bzero(sendbuf,LENG); bzero(comingbuf,LENG); }
void searchUS(){ memmove(&comingbuf[0],&comingbuf[1], 1); char *US_R = strtok(comingbuf,"%"); char *S_W = strtok(NULL,"%"); if(!inmodify(US_R,S_W)){ mysql_free_result(result); selectSQL("entries",S_W); resultEV(); printf("hello\n"); }else{ mysql_free_result(result); inmodify(US_R,S_W); resultEC(); } bzero(sendbuf,LENG); bzero(comingbuf,LENG); }
//---------------------------------------------------- char *getFindByKeySQL(void *self)//, char *where ) { t_table *tt = ((t_object*)self)->ds; int size=0,i=0; char *sql,where[MAX_WHERE_SQL]; memset(where, '\0',MAX_WHERE_SQL); sql = (char *)malloc(sizeof(char)*MAX_SQL); //liberar despues de usar //blanquear cadena memset(sql, '\0',MAX_SQL); strcat(sql,selectSQL((t_object*)self)); for(i=0;i<tt->cant_columns;++i) { if(((t_column *)tt->columns)[i].pkey) { snprintf(where, MAX_WHERE_SQL,"%s=", ((t_column *)tt->columns)[i].nombre); ((t_object*)self)->getValueByPos(self, where,i); } } WHERE_SQL(sql,where); return sql; }
/* crear consulta SQL de la Tabla para poder cargar una lista generica en memoria. */ int findAllImpl( void *self, // puntero generico al que aplica void **list, // lista resultado donde se devuelve la informacion char *criteria, // criterio aplicado //despues del where size_t t, void *data, void(*fcFill)(void **,int ri, PGresult *r), void(*fillRows)(void **list,int size,void *data) ) { int size=0,i=0; char sql[MAX_SQL], fields[MAX_SQL]; t_table *tt = ((t_object*)self)->ds; strcpy(sql,selectSQL((t_object*)self)); WHERE_SQL(sql,criteria); // conformar una cadena sql: SELECT [campos...] FROM [tabla] WHERE [...] // cargar el puntero data con datos desde la base de datos. size = exec_get_fromDB(sql,&data,t,fcFill); if(size>0) fillRows(list,size, data); return size; }