powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с PQfnumber
4 сообщений из 4, страница 1 из 1
Проблема с PQfnumber
    #35267217
ghostwheel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Пишу прогу с использованием libpq и столкнулся с проблемой, что функция PQfnumber возвращает вместо номера поля "-1". При помощи вот такого вот кода

Код: plaintext
1.
2.
3.
4.
	int i = PQfnumber(res, "TABLE_DESCRIPTION");
	char* tmp = PQfname(res,  0 );

	buffer = PQgetvalue(res,  0 ,  0  /*PQfnumber(res, "TABLE_DESCRIPTION") */);

удалось выяснить, что:
1. i="-1"
2. tmp = "TABLE_DESCRIPTION"
3. buffer = "некоторое значение из базы"

Собственно вопрос, почему PQfnumber возвращает -1 (уже всю голову сломал) и как заставить ее возвращать номер указанного поля (опечаток в параметрах функции нет)? Остальной код работает нормально.
...
Рейтинг: 0 / 0
Проблема с PQfnumber
    #35267237
ghostwheel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже в таком случае i=-1
Код: plaintext
int i = PQfnumber(res, PQfname(res,  0 ))
...
Рейтинг: 0 / 0
Проблема с PQfnumber
    #35267770
Thamerlan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рискну предположить, что в вашем селекте, которого здесь не видно, вы выбираете поля в двойных кавычках.
То есть при селекте:
Код: plaintext
select "TABLE_DESCRIPTION" from table1
вам надо :
Код: plaintext
int i = PQfnumber(res, "\"TABLE_DESCRIPTION\"");

А если без кавычек:
Код: plaintext
select TABLE_DESCRIPTION from table1
,
то можно просто:
Код: plaintext
int i = PQfnumber(res, "TABLE_DESCRIPTION");


P.s.
А -1 значит, что ID поля не найдено по его названию.
...
Рейтинг: 0 / 0
Проблема с PQfnumber
    #35269787
ghostwheel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, именно в кавычках и была проблема! Однако, не понятно почему вот такой вот код возвращал -1, хотя по идее должен был возвращать 0:
Код: plaintext
PQfnumber(res, PQfname(res,  0 ))
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с PQfnumber
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]