35.11. 库函数 #
libecpg 库主要包含用于实现嵌入式 SQL 命令功能的“隐藏”函数,也有一些适合直接调用的函数。注意,直接调用这些函数会使代码失去可移植性。
调用
ECPGdebug(int时,如果第一个参数非零,就会启用调试日志。日志写入on, FILE *stream)stream,包含代入全部输入变量后的所有 SQL 语句,以及 PostgreSQL 服务器返回的结果。这对于查找 SQL 语句中的错误很有用。注意
在 Windows 上,如果 ecpg 库和应用是使用不同标志编译的,这个函数调用将会使应用崩溃,因为
FILE指针的内部表示不同。特别地,库和使用库的应用应该使用相同的多线程/单线程、发行/调试以及静态/动态标志。ECPGget_PGconn(const char *返回由给定名称标识的库数据库连接句柄。如果connection_name)connection_name被设置为NULL,当前连接句柄将被返回。如果无法定位到连接句柄,该函数返回NULL。如果需要,返回的连接句柄可以被用来调用任何其他来自于 libpq 的函数。注意
直接使用 libpq 例程来操纵 ecpg 中建立的数据库连接句柄是一种糟糕的做法。
ECPGtransactionStatus(const char *返回由connection_name)connection_name标识的连接的当前事务状态。返回状态码的详细信息,参见第 33.2 节和 libpq 的PQtransactionStatus()。如果你连接到了一个数据库,
ECPGstatus(int会返回真;否则返回假。如果使用的是一个单一连接,lineno, const char*connection_name)connection_name可以为NULL。