Una vez que se ha establecido correctamente una conexi�n con un servidor de base de datos, se utilizan las funciones que se muestran a continuaci�n para realizar consultas y comandos de SQL.
PQexec Emite una consulta a Postgres y espera el resultado.
PGresult *PQexec(PGconn *conn, const char *query); |
La estructura PGresult encapsula el resultado devuelto por el servidor a la consulta. Los programadores de aplicaciones con libpq deber�an mostrarse cuidadosos de mantener la abstracci�n de PGresult. Prohiban la referencia directa a los campos de la estructura PGresult, porque est�n sujetos a cambios en el futuro. (Incluso a partir de la versi�n 6.4 de Postgres, ha dejado de proporcionarse la definici�n de PGresult en libpq-fe.h. Si tiene usted c�digo ant�guo que accede directamente a los campos de PGresult, puede mantenerlo utilizando libpq-int.h tambi�n, pero le recomendamos que ajuste pronto el c�digo).
PQresultStatus Devuelve la situaci�n (status) resultante de una consulta.
ExecStatusType PQresultStatus(const PGresult *res) |
PGRES_EMPTY_QUERY -- La cadena enviada al servidor estaba vac�a.
PGRES_COMMAND_OK -- El comando se ha ejecutado con �xito sin devolver datos.
PGRES_TUPLES_OK -- La consulta se ha ejecutado con �xito.
PGRES_COPY_OUT -- Se ha arrancado la transmisi�n de datos desde el servidor (Copy Out)
PGRES_COPY_IN -- Se ha arrancado la transmisi�n de datos hacia el servidor (Copy In)
PGRES_BAD_RESPONSE -- El servidor ha dado una respuesta desconocida.
PGRES_NONFATAL_ERROR
PGRES_FATAL_ERROR
PQresStatus Convierte los tipos enumerados devueltos por PQresultStatus en una cadena constante que describe el c�digo de la situaci�n.
char *PQresStatus(ExecStatusType status); |
PQresultErrorMessage Devuelve el mensaje de error asociado con la consulta, o una cadena vac�a si no hay error.
char *PQresultErrorMessage(const PGresult *res); |
PQntuples Devuelve el n�merod de tuplas (instancias) del resultado de la consulta.
int PQntuples(const PGresult *res); |
PQnfields Devuelve el n�mero de campos (atributos) de cada tupla del resultado de la consulta.
int PQnfields(const PGresult *res); |
PQbinaryTuples Devuelve 1 si PGresult contiene datos binarios en las tuplas, y 0 si contiene datos ASCII.
int PQbinaryTuples(const PGresult *res); |
PQfname Devuelve el nombre del campo (atributo) asociado con el indice de campo dado. Los �ndices de campo empiezan con 0.
char *PQfname(const PGresult *res, int field_index); |
PQfnumber Devuelve el �ndice del campo (atributo) asociado con el nombre del campo dado.
int PQfnumber(const PGresult *res, const char *field_name); |
Se devuelve -1 si el nombre de campo dado no se corresponde con ning�n campo.
PQftype Devuelve el tipo de campo asociado con el �ndice del campo dado. El entero devuelto es una codificaci�n interna del tipo. Los �ndices de campo empiezan con 0.
Oid PQftype(const PGresult *res, int field_num); |
PQfsize Devuelve el tama�o en bytes del campo asociado con el �ndice de campo dado. Los �ndices de campo empiezan con 0.
int PQfsize(const PGresult *res, int field_index); |
PQfmod Devuelve los datos de la modificaci�n espec�fica del tipo del campo asociado con el �ndice del campo dado. Los �ndices de campo empiezan en 0.
int PQfmod(const PGresult *res, int field_index); |
PQgetvalue Devuelve un valor de un �nico campo (atributo) de una tupla de PGresult. Los �ndices de tuplas y de campos empiezan con 0.
char* PQgetvalue(const PGresult *res, int tup_num, int field_num); |
PQgetlength Devuelve la longitud de un campo (atributo) en bytes. Los �ndices de tupla y de campo empiezan en 0.
int PQgetlength(const PGresult *res, int tup_num, int field_num); |
PQgetisnull Prueba un campo por si tiene un valor NULL. Los �ndices de tupla y de campo empiezan con 0.
int PQgetisnull(const PGresult *res, int tup_num, int field_num); |
PQcmdStatus Devuelve la cadena de la situaci�n del comando para el comando SQL que gener� el PGresult.
char * PQcmdStatus(const PGresult *res); |
PQcmdTuples Devuelve el n�mero de filas afectadas por el comando SQL.
char * PQcmdTuples(const PGresult *res); |
PQoidValue Devuelve el identificador de objeto (oid) de la tupla insertada, si el comando SQL era una INSERT. En caso contrario, devuelve InvalidOid.
Oid PQoidValue(const PGresult *res); |
PQoidStatus Devuelve una cadena con el identificador de objeto de la tupla insertada si el comando SQL era una INSERT. En otro caso devuelve una cadena vac�a.
char * PQoidStatus(const PGresult *res); |
PQprint Imprime todas las tuplas y, opcionalmente, los nombres de los atributos en la salida especificada.
void PQprint(FILE* fout, /* output stream */ const PGresult *res, const PQprintOpt *po); struct { pqbool header; /* Imprime las cabeceras de los campos de salida y el contador de filas. */ pqbool align; /* Fija la alineaci�n de los campos. */ pqbool standard; /* old brain dead format */ pqbool html3; /* tabula la salida en html */ pqbool expanded; /* expande las tablas */ pqbool pager; /* Usa el paginador para la salida si se necesita. */ char *fieldSep; /* separador de campos */ char *tableOpt; /* lo inserta en <tabla ...> de HTML */ char *caption; /* HTML <caption> */ char **fieldName; /* cadena terminada en null de nombres de campo alternativos. */ } PQprintOpt; |
PQclear Libera la zona de almacenamiento asociada con PGresult. Todas los resultados de las consultas deber�an liberarse con PQclear cuando ya no son necesarios.
void PQclear(PQresult *res); |
PQmakeEmptyPGresult Construye un objeto PGresult vac�o con la situaci�n que se propone.
PGresult* PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status); |