Funções PosgreSQL - func_pg

Publicado por Perfil removido 06/08/2007

[ Hits: 4.452 ]

Download func_pg.c




Este é um fonte de funções de conexão, seleção e atualização em postgresql, com consistências de erro.

Ele usa uma função ast_log(), que foi escrita por mim e está publicada aqui sob o nome logger.

  



Esconder código-fonte

#include <string.h>
#include <stdlib.h>
#include <libpq-fe.h>

PGconn * db_conn(PGconn *con) {
   char msg[1024];
   char host[128],dbname[128],user[128],password[128];
   char con_param[256];

   read_pg_conf(host,dbname,user,password,"/usr/local/etc/agi3.conf{FONTE}");
   sprintf(con_param,"host=%s dbname=%s user=%s password=%s",host,dbname,user,password);

   con=PQconnectdb(con_param);

   if(PQstatus(con)!=CONNECTION_OK) {
      sprintf(msg,"func_pg.c: Error connection: %s\n",PQerrorMessage(con));
      agi_log(LOG_ERROR,msg);
      exit(1);
   }

   else return con;

}

PGresult * db_query(PGconn *con,char query[128])
{
   char msg[1024];
   PGresult *res;

   res=PQexec(con,query);
   if(PQresultStatus(res)!=PGRES_TUPLES_OK) {
      sprintf(msg,"func_pg.c: Query failed! %s",PQerrorMessage(con));
      agi_log(LOG_ERROR,msg);
      PQclear(res);
      PQfinish(con);
      exit(1);
   }

   else return res;

}

void db_update(PGconn *con,char query[128])
{
   char msg[1024];
   PGresult *res;

   res=PQexec(con,query);
   if(PQresultStatus(res)!=PGRES_COMMAND_OK) {
      printf(msg,"func_pg.c: Error with update!\n");
      agi_log(LOG_ERROR,msg);
   }

}

Scripts recomendados

Jogo da forca com banco de dados MySQL

Construindo uma classe de conexão com banco de dados em C# utilizando design pattern Singleton

Usando MySQL na linguagem C - Exemplo 5

Usando MySQL na linguagem C - Exemplo 2

Usando MySQL na linguagem C - Exemplo 4


  

Comentários
[1] Comentário enviado por nizia em 04/05/2009 - 10:07h

Atualmente estou trabalhando com esse banco e essas funções cairam como luva um abraço...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts