支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:开发版
不支持的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3

34.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 标识的给定连接的当前事务状态。有关返回状态代码的详细信息,请参阅第 32.2 节和 libpq 的 PQtransactionStatus

  • 如果您已连接到数据库,ECPGstatus(int lineno, const char* connection_name) 返回 true,否则返回 false。如果使用单个连接,connection_name 可以为 NULL

提交更正

如果您发现文档中任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。