↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.2
历史版本PostgreSQL 7.2 已于 2007 年 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 允许你同时处理多个结果集。

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

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。