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