【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)

本文涉及的产品
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)

一、前置条件

  1. 下载libpqxx【github传送门】
  2. 安装CMake工具【CMke传送门】
  3. 下载PostgreSQL【PostgreSQL传送门】

二、安装PostgreSQL工具

点击下载,直接安装即可。过程中出现的插件选择64位即可。那些都不重要。

安装完成后如下:

关注 “测试开发自动化” 公众号,获取更多学习内容

三、编译libpqxx库

  1. 从Github下载至本地,在文件夹下解压。
  2. 管理员方式运行CMake软件(必须以管理员方式运行,否则可能会报错),填写Where is the source code 和 Where to build the binaries 如下:

  1. 点击Configure 和 Generate 按钮
  2. 回到D:/libpqxx-master 路径下会生成一个build文件夹。

  3. 使用管理员模式启动visual studio,打开libpqxx.sln工程文件(必须用管理员模式,否则后面构建会报错)

  4. 右键ALL_BUILD >> 属性 >> 常规 >> C++通用标准 >> 最新C++ ,点击确定。

  5. 设置为Release X64,分别右键INSTALL >> 生成,PACKAGE >> 生成,pqxx >> 生成。

  6. build目录下会生成一个_CPack_Packages文件夹

关注 “测试开发自动化” 公众号,获取更多学习内容

四、Visual Studio配置测试

新建自己的工程,属性中需要配置如下内容:

1)C/C++ >> 附加包含目录添加:

D:\libpqxx-master\build_CPack_Packages\win64\TGZ\libpqxx-7.8.0-win64\include

2)链接器 >> 附加库目录添加:

D:\PostgreSQL\15\lib

D:\libpqxx-master\build_CPack_Packages\win64\TGZ\libpqxx-7.8.0-win64\lib

3)链接器 >> 输入 >> 附加依赖项 添加:

pqxx.lib

libpq.lib

ws2_32.lib

wsock32.lib

4)测试程序

#include <iostream>
#include <pqxx/pqxx>
int main() {
    try {
        // 用您的云PostgreSQL数据库信息替换以下内容
        std::string connection_string =
           "host=your_host_name user=your_user_name password=your_password dbname=your_database_name port=your_port_number";
        pqxx::connection connection(connection_string);
        if (connection.is_open()) {
            std::cout << "Successfully connected to the PostgreSQL database." << std::endl;
        }
        else {
            std::cout << "Cannot open the PostgreSQL database." << std::endl;
            return 1;
        }
        pqxx::work transaction(connection);
        // 在这里执行您的数据库操作
        pqxx::result result = transaction.exec("SELECT * FROM  your_table_name");
        for (const auto& row : result) {
            for (const auto& column : row) {
                std::cout << column.c_str() << " ";
            }
            std::cout << std::endl;
        }
        transaction.commit();
        //connection.disconnect();
    }
    catch (const std::exception& e) {
        std::cerr << "Error: " << e.what() << std::endl;
        return 1;
    }
    return 0;
}

关注 “测试开发自动化” 公众号,获取更多学习内容

如果对您有帮助,关注+收藏!

文章知识点与官方知识档案匹配,可进一步学习相关知识


相关实践学习
函数计算X RDS PostgreSQL,基于LLM大语言模型构建AI知识库
基于ChatGLM6B 大语言模型构建AI知识库问答应用。答疑群17125058181
相关文章
|
5月前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
112 0
|
5月前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
277 0
|
4月前
|
C++ Python Windows
在Visual Studio中使用Python(Windows)
在Visual Studio中使用Python(Windows)
|
2月前
|
安全 C++ Windows
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
|
3月前
|
Java Linux 开发工具
Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程
68 0
|
4月前
|
安全 API C++
逆向学习Windows篇:C++中多线程的使用和回调函数的实现
逆向学习Windows篇:C++中多线程的使用和回调函数的实现
119 0
|
4月前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
44 0
|
4月前
|
C++
Windows10键盘快捷键及Visual Studio2017键盘快捷键(常用)
Windows10键盘快捷键及Visual Studio2017键盘快捷键(常用)
|
5月前
|
C++ Windows
编织效率之梦:Visual Studio与Windows快捷键指南
编织效率之梦:Visual Studio与Windows快捷键指南
71 0
|
5月前
|
编译器 C语言 C++
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程
下一篇
无影云桌面