linux C++连接数据库postgreSql

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
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;
}

标签: CentOS linux 数据库

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C++编写的十进制转换成16进制代码

下一篇:C++编写的用于去除C、C++、Java等语言的注释的代码片段