Un pequeño ejemplo de como conectarse a una base de datos PostgreSQL y ejecutar una consulta SQL.
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <libpq-fe.h>
int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))) {
int pg_lib_version = PQlibVersion();
PGconn *con;
PGresult *res;
int num_registros = 0;
fprintf(stderr, "Versión de la librería de PostgreSQL: %d\n", pg_lib_version);
con = PQconnectdb("dbname=qpasos host=pgsql-master user=qpasos password=qpasos");
if (PQstatus(con) == CONNECTION_BAD) {
fprintf(stderr, "Error al conectar con la base de datos PostgreSQL\n");
return EXIT_FAILURE;
}
res = PQexec(con, "select * from tabla_pasos where fecha >= '2018-01-01'");
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
fprintf(stderr, "No se han obtenido datos\n");
return EXIT_FAILURE;
}
num_registros = PQntuples(res);
fprintf(stderr, "Se encontraron %d registros\n", num_registros);
for (int i=0 ; i<num_registros ; i++) {
for (int j=0 ; j<5 ; j++) {
fprintf(stdout, "%s\t", PQgetvalue(res, i, j));
}
putchar('\n');
}
PQclear(res);
PQfinish(con);
return EXIT_SUCCESS;
}
Compilaríamos ese código con:
gcc -o fuente fuente.c -I`pg_config --includedir` -L`pg_config --libdir` -lpq
No hay comentarios:
Publicar un comentario