用C++向openGauss获取数据的代码
时间: 2023-06-12 21:05:25 浏览: 145
以下是使用 C 语言向 openGauss 数据库获取数据的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
int main() {
PGconn *conn;
PGresult *res;
int nFields, i, j;
conn = PQconnectdb("host=127.0.0.1 port=5432 dbname=test user=test password=test");
if (PQstatus(conn) != CONNECTION_OK) {
fprintf(stderr, "Connection to database failed: %s", PQerrorMessage(conn));
PQfinish(conn);
exit(1);
}
res = PQexec(conn, "SELECT * FROM users");
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
fprintf(stderr, "Query execution failed: %s", PQresultErrorMessage(res));
PQclear(res);
PQfinish(conn);
exit(1);
}
nFields = PQnfields(res);
for (i = 0; i < PQntuples(res); i++) {
for (j = 0; j < nFields; j++) {
printf("%s\t", PQgetvalue(res, i, j));
}
printf("\n");
}
PQclear(res);
PQfinish(conn);
return 0;
}
```
在上面的代码中,我们首先使用 `PQconnectdb` 函数连接到 openGauss 数据库。在连接成功后,我们使用 `PQexec` 函数执行 SQL 查询。如果查询执行成功,我们可以使用 `PQnfields` 函数获取结果集中的字段数。我们可以使用 `PQntuples` 函数获取结果集中的行数。我们可以使用 `PQgetvalue` 函数获取指定行和列的值。最后,我们使用 `PQclear` 函数清理结果集并使用 `PQfinish` 函数关闭连接。
请注意,上面的示例代码仅用于演示目的。在实际应用中,您需要根据您的具体需求进行修改和优化。
阅读全文