Считать количество столбцов и их тип из таблицы результатов запроса (в C) - PullRequest
0 голосов
/ 17 февраля 2009

Я использую базу данных PostgreSQL и C для подключения к ней. С помощью dyntest.pgc я могу получить доступ к количеству столбцов и их (SQL3) типам из таблицы результатов запроса.

Проблема в том, что когда таблица результатов пуста, я не могу выбрать строку для получения этих данных. У кого-нибудь есть решение для этого?

Запрос может быть SELECT 1,2,3 - поэтому, я думаю, я не могу использовать ИНФОРМАЦИОННУЮ СХЕМУ для этого, потому что нет базовой таблицы.

Ответы [ 2 ]

1 голос
/ 17 февраля 2009

Я не знаком с ecpg, но с libpq вы сможете вызывать PQnfields для получения количества полей, а затем вызывать различные процедуры PQf * (например, PQftype, PQfname) для получения подробной информации. Эти функции принимают PGResult, который у вас есть, даже если строк нет.

0 голосов
/ 17 февраля 2009

Проблема в том, что когда таблица результатов пуста, я не могу выбрать строку для получения этих данных. У кого-нибудь есть решение для этого?

Я не уверен, что действительно получу то, что вы хотите, но, похоже, ответ в вопросе. Если таблица пуста, строк нет ...

Единственное решение здесь, кажется, вы должны подождать непустую таблицу результатов, а затем получить необходимую информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...