linux C++连接数据库postgreSql

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

linux C++连接数据库postgreSql,在centos6.3,eclipse下调试成功
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
 
int main(int argc, char * argv[])
{
    PGconn *conn;
    PGresult * dataset;
    ConnStatusType pgstatus;
    char connstr[1024];
    char szSQL[2048];
    char * paramValues = NULL;
    int nParams = 0;
 
    sprintf(connstr, "hostaddr=%s dbname=%s port=%d user=%s password=%s",
            "192.168.192.168", "test", 5432, "testuser", "123456");
    conn = PQconnectdb(connstr);
    pgstatus = PQstatus(conn);
    if (pgstatus == CONNECTION_OK)
    {
        printf("Connect database success!\n");
    }
    else
    {
        printf("Connect database fail:%s\n", PQerrorMessage(conn));
        return 1;
    }
 
    sprintf(szSQL, "insert into tmptable(a,name) values(1,'aaaaaa')");
    dataset = PQexecParams(conn, szSQL, nParams, /* 参数个数 */
    NULL, /* 让后端推出参数类型 */
    (const char * const *) paramValues, NULL, /* 因为是文本,所以必须要参数长度 */
    NULL, /* 缺省是全部文本参数 */
    0); /* 是否是二进制结果 */
 
    if ((PQresultStatus(dataset) == PGRES_COMMAND_OK)
            || (PQresultStatus(dataset) == PGRES_TUPLES_OK))
    {
        printf("Successfully execute SQL : %s\n", szSQL);
    }
    else
    {
        printf("%s\n", PQerrorMessage(conn));
    }
 
    /* 关闭数据库连接并清理 */
    PQfinish(conn);
    return 0;
}