Windows下C++访问PostgreSQL数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。文章中有连接失效或是技术谬误的地方,请与我联系。 https://blog.csdn.net/luchengtao11/article/details/82379316

一、环境配置

1、为VS添加包含目录,库目录,这些目录都在PG数据库的安装目录。例如:

https://segmentfault.com/image?src=http://tanhp.com/usr/uploads/2014/07/2922075550.jpg&objectId=1190000000628234&token=5f859d8aed7aa25c32e4b17807b01ef1

2、添加附加依赖项

https://segmentfault.com/image?src=http://tanhp.com/usr/uploads/2014/07/1686545271.jpg&objectId=1190000000628234&token=f48d08efaae28fc205563d765626051e

3、添加dll文件

将PG数据库安装目录bin文件夹下的libeay32.dlllibintl.dlllibicon-2.dlllibpq.dllssleay32.dll复制到工程目录下

二、代码示例:

#include <libpq-fe.h>

#include <iostream>



using namespace std;



//从外部引入

extern void PQfinish(PGconn *conn);

extern void PQclear(PGresult *res);

int main()

{

    PGconn *conn = PQsetdbLogin("127.0.0.1", "5432", NULL, NULL, "test", "postgres", "");

    //主机IP,端口号,附加选项,NULL,数据库名,用户名,密码



    if (conn==NULL)

    {

        cout << "Error" << endl;

    }



    PGresult * result = PQexec(conn, "SELECT * FROM test");//执行SQL语句,关键字要大写



    for (int i = 0; i < PQntuples(result); i++)//结果行数

    {

        for (int j = 0; j < PQnfields(result); j++)//结果列数

        {

            cout << PQgetvalue(result, i, j) << " ";

        }

        cout << endl;

    }



}

三、另外

C++与PG数据库交互一般用libpqxx库,封装性更友好,但是需要手动编译,配置较为麻烦。

猜你喜欢

转载自blog.csdn.net/luchengtao11/article/details/82379316