libpq PostgreSQL и SELECT FROM

У меня есть код, как показано ниже (конечно, он частичный). Я могу успешно подключиться к базе данных, я могу делать INSERT INTO и все такое, но результат SELECT FROM никогда не отображается.

snprintf(sqlSelect, sizeof(sqlSelect), "select * from %s", sqlTableName);

res = PQexec(conn, sqlSelect);
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
    fprintf(stderr, "SELECT FROM failed: %s", PQerrorMessage(conn));
    PQclear(res);
    exitNicely(conn);
}

PQclear(res);

Почему приведенный выше код не печатает результат SELECT * FROM db_name в терминале?


person Teddy    schedule 08.02.2013    source источник
comment
Какую ошибку вы получаете?   -  person cdhowie    schedule 08.02.2013
comment
Я не получаю никаких ошибок. Просто пустая строка, которая должна указывать на то, что команда SELECT была успешно передана на сервер.   -  person Teddy    schedule 08.02.2013
comment
Я не вижу никакого кода, который бы напечатал результат запроса (и нет, это не происходит автоматически)   -  person Anton Kovalenko    schedule 08.02.2013
comment
Украсть что-нибудь из postgresql.org/docs/9.2/static/libpq-example .html (начните с print out the rows части первого примера)   -  person Anton Kovalenko    schedule 08.02.2013
comment
Благодарность! это именно то, что я искал.   -  person Teddy    schedule 09.02.2013
comment
@AntonKovalenko: Похоже, вы должны превратить это в ответ.   -  person Erwin Brandstetter    schedule 09.02.2013


Ответы (1)


Код не выводит и не использует строки результатов, он просто извлекает их и отбрасывает.

Вам нужно перебрать набор результатов и что-то с ним сделать. См. примеры libpq, чтобы узнать, как это сделать.

(CW, потому что я просто превращаю точку зрения Эрвина в ответ).

person Community    schedule 10.02.2013