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

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

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

第 5 章 libpgeasy - 简化 C 库

作者

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

pgeasy 让你能够干净地接口到 libpq 库,更像是 4GL 的 SQL 接口。关于 libpq 的更多信息请参考第 1 章。

它由一组封装了 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 允许你同时处理多个结果集。

源代码目录中有若干示例程序。

报告文档问题

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