PGresult and for-cycle
От | Gianluigi Roveda |
---|---|
Тема | PGresult and for-cycle |
Дата | |
Msg-id | 3B389ACD.C0824543@omega.it обсуждение исходный текст |
Список | pgsql-interfaces |
I develop this code: PQclear(sol);psqlDisconnettiDB(DB); ris=(abbonamenti_t **) calloc(nabb,sizeof(abbonamenti_t *));sol2=(PGresult **) calloc(nabb,sizeof(PGresult *)); for (i=0;i<nabb;i++){ ris[i]=(abbonamenti_t *) calloc(1,sizeof(abbonamenti_t)); st1=astrcpy("SELECT rivabbval.PrezzoLit, rivabbval.PrezzoEur, rivabbval.DataInizioValidita, rivabbval.DataFineValidita, rivtipabb.Descrizione FROM rivabbval, rivtipabb WHERE rivabbval.IDrav="); st2=astrcat(st1,key[i]); free(st1); st1=astrcat(st2," and rivtipabb.IDrta=rivabbval.IDrta;"); free(st2); DB=(PGconn *) psqlConnettiDB0("mulino_db"); psqlBeginTransaction(DB); psqlLockTable(DB,"rivvalarr","ACCESS EXCLUSIVEMODE"); {FILE *E; E=fopen("problem.txt","a");fprintf(E,"BOOM 2-1 SQL abb -%s-\n",st1);fclose(E);} sol2[i]=PQexec(DB,st1); free(st1); /***/ ris[i]->lire_abb=atof(PQgetvalue(sol2[i],i,0)); ris[i]->euro_abb=atof(PQgetvalue(sol2[i],i,1)); ris[i]->inizio_abb=astrcpy(PQgetvalue(sol2[i],i,2)); ris[i]->fine_abb=astrcpy(PQgetvalue(sol2[i],i,3)); ris[i]->abbo=astrcpy(PQgetvalue(sol2[i],i,4)); PQclear(sol2[i]); psqlDisconnettiDB(DB);} the 1st loop is OK, the 2nd produces a core and stops at /***/. Why ? Could you help me ? ----------------------------------- Gianluigi Roveda E-mail: roveda@omega.it Omega Generation S.R.L. Via Montebello, 2 40121 Bologna TEL 051/4210311 FAX 051/4211039
В списке pgsql-interfaces по дате отправления: