受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

34.11. 库函数 #

libecpg库主要包含用于实现嵌入式 SQL 命令所表达功能的隐藏函数。但是也有一些可以被直接调用的函数。但是注意这会让你的代码不可移植。

  • 如果调用时第一个参数非零,ECPGdebug(int on, FILE *stream)会打开调试日志。调试日志在上完成。该日志包含所有插入了输入变量的SQL语句,以及来自于PostgreSQL服务器的结果。在你的SQL语句中查找错误时这会非常有用。

    Note

    在 Windows 上,如果ecpg库和应用使用不同标志编译的,这个函数调用将会使应用崩溃,因为FILE指针的内部表示不同。特别地,库和使用库的应用应该使用相同的多线程/单线程、发行/调试以及静态/动态标志。

  • ECPGget_PGconn(const char *connection_name) 返回由给定名称标识的库数据库连接句柄。如果connection_name被设置为NULL,当前连接句柄将被返回。如果无法定位到连接句柄,该函数返回NULL。如果需要,返回的连接句柄可以被用来调用任何其他来自于libpq的函数。

    Note

    直接使用libpq例程来操纵ecpg中建立的数据库连接句柄是一种糟糕的做法。

  • ECPGtransactionStatus(const char *connection_name)返回由connection_name标识的给定连接的当前事务状态。 关于返回的状态代码请参考Section 32.2 和 libpq的 PQtransactionStatus

  • 如果你连接到了一个数据库,ECPGstatus(int lineno, const char* connection_name)会返回真;否则返回假。 如果使用的是一个单一连接,connection_name可以为NULL

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。