Boa tarde,

Estou com um problema em minha aplicacao, ao passar uma query para o
Postgres ele nao retorna nenhuma linha essa query deveria retornar algumas
linhas (e retorna quanto eh executada diretamente no psql).
Estou tendo este problemas apenas quando preciso guardar a string
temporariamente em uma variavel para concatenar alguns dados. Por exemplo

sprintf(query, "DECLARE curr CURSOR FOR SELECT hd.dia, EXTRACT(HOUR FROM hd.hora), 
EXTRACT(MINUTE FROM hd.hora) FROM HOR_DE_DISC hd WHERE hd.disc='%s' AND hd.id_turma=%d 
AND hd.semestre=%d;", turma[i].cod, turma[i].turma, turma[i].semestre);

 Quando executo essa string no postgres e jogo os dados no cursor 'curr' a
quatidade de tuplas eh 0 ele nao entra no while e nao carrega os dados:

if(ExecutaComando(query, &result)){
        comando_ok = ExecutaComando("FETCH 1 IN curr", &result);
        while(comando_ok && PQntuples(result) > 0){
                (carrego as informacoes aqui!)


                ExecutaComando("FETCH NEXT IN curr", &result);
        }
}

 O problema eh que se eu imprimo a string querry e executo o resultado
desta impressao o Postgres encontra o resultado correto do select. Por
exemplo:

SELECT hd.dia, EXTRACT(HOUR FROM hd.hora), EXTRACT(MINUTE FROM hd.hora) FROM 
HOR_DE_DISC hd WHERE hd.disc='SCE-0521' AND hd.id_turma=1 AND hd.semestre=20042;


Alguem ja passou por este problema,  anexei o codigo c simplificado e um
dump para a base de dados. Procurei a referencia do sprintf e nao encontrei
nenhum problema.

Desculpe o e-mail sem acentuacao. Agradeco quem puder me ajudar :)

--

Felipe Luis de Souza Vieira



--
Felipe Luis de Souza Vieira
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a