centos

CentOS下C++数据库连接如何操作

小樊
82
2025-02-13 12:08:51
栏目: 编程语言

在CentOS系统下,使用C++连接数据库通常需要使用数据库提供的客户端库。以下是一些常见数据库的C++连接操作:

  1. MySQL数据库连接:

首先,确保已经安装了MySQL客户端库。可以使用以下命令安装:

sudo yum install mysql-devel

然后,创建一个C++文件(例如:mysql_example.cpp),并编写以下代码:

#include <iostream>
#include <mysql/mysql.h>

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    conn = mysql_init(NULL);

    if (!mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0)) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    if (mysql_query(conn, "SHOW TABLES")) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    res = mysql_store_result(conn);

    while ((row = mysql_fetch_row(res))) {
        std::cout << row[0] << std::endl;
    }

    mysql_free_result(res);
    mysql_close(conn);

    return 0;
}

编译并运行:

g++ mysql_example.cpp -o mysql_example -lmysqlclient
./mysql_example
  1. PostgreSQL数据库连接:

首先,确保已经安装了PostgreSQL客户端库。可以使用以下命令安装:

sudo yum install postgresql-devel

然后,创建一个C++文件(例如:postgresql_example.cpp),并编写以下代码:

#include <iostream>
#include <pqxx/pqxx>

int main() {
    pqxx::connection C("dbname=database_name user=username password=password hostaddr=127.0.0.1 port=5432");

    if (C.is_open()) {
        std::cout << "Opened database successfully: " << C.dbname() << std::endl;
    } else {
        std::cout << "Can't open database" << std::endl;
        return 1;
    }

    pqxx::work W(C);

    pqxx::result R = W.exec("SELECT * FROM table_name");

    for (auto row : R) {
        std::cout << row[0].as<std::string>() << std::endl;
    }

    W.commit();

    return 0;
}

编译并运行:

g++ postgresql_example.cpp -o postgresql_example -lpqxx -lpq
./postgresql_example

注意:这里的示例代码仅用于演示如何连接数据库并执行简单的查询。实际应用中,需要根据具体需求编写相应的代码。

0
看了该问题的人还看了