作者: 由 Bruce Momjian ( (<[email protected]> ) 制作,最后更新为 2000-03-30.
pgeasy 令你可以干净地与 libpq 库交互,非常象 4GL SQL 接口.
它由一系列简化了的 C 函数组成, 这些 C 函数封装了 libpq 的函数.这些函数是:
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 允许你通过在每个结果指针后面传递一个 int* 来检索该域的 NULL 状态, 这个参数根据该域是否为空返回真(true)或假(false). 你可以对 doquery返回的 PGresult 指针使用libpq 的函数. reset_fetch 将抓取(的偏移)恢复到开头.
get_result, set_result, 和 unset_result 允许你同时操作多个结果集.
在源文件目录里有很多的演示程序.