↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.1 / 7.0
历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.

第 5 章 libpgeasy - 简化 C 库

作者

由 Bruce Momjian 编写(),最后更新于 2000-03-30

pgeasy 让你能够干净地接口到 libpq 库,更像是 4GL 的 SQL 接口。

它由一组封装了 libpq 功能的简化 C 函数组成。这些函数是:

  • PGresult *doquery(char *query);

  • PGconn *connectdb(char *options);

  • void disconnectdb();

  • int fetch(void *param,...);

  • int fetchwithnulls(void *param,...);

  • void reset_fetch();

  • void on_error_continue();

  • void on_error_stop();

  • PGresult *get_result();

  • void set_result(PGresult *newres);

  • void unset_result(PGresult *oldres);

许多函数会返回一个结构或值,因此在需要时你可以对结果做更多的工作。

基本上你用 connectdb 连接到数据库,用 doquery 发出查询,用 fetch 取回结果,最后用 disconnectdb 结束。

对于 SELECT 查询,fetch 允许你把指针作为参数传递,返回时这些变量将被你打开的二进制游标中的数据填充。如果你运行 pgeasy 客户端的系统与数据库服务器的体系结构不同,这些二进制游标就无法使用。如果你传递一个 NULL 指针参数,该列会被跳过。fetchwithnulls 允许你取回字段的 NULL 状态,方法是在每个结果指针之后传递一个 int*,字段为空时它返回真或假。你总是可以在 doquery 返回的 PGresult 指针上使用 libpq 函数。reset_fetch 把取回操作重置回开头。

get_result、set_result 和 unset_result 允许你同时处理多个结果集。

源代码目录中有各种各样的示例程序。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.