2

我用 libpq.so 编程。我想获得在 SQL Standard 中称为 sql state 的错误代码。我应该如何在我的 c 代码中获得它?

4

2 回答 2

2

显而易见的 Google 搜索libpq get sqlstate会找到libpq-exec 文档。搜索该部分中的SQLSTATE发现。PG_DIAG_SQLSTATEPQresultErrorField

因此,您可以看到您可以调用PQresultErrorField(thePgResult, PG_DIAG_SQLSTATE)以获取SQLSTATE.

于 2013-04-03T06:18:58.713 回答
1

由于声誉原因,这只是补充,我不能以评论的形式离开。

请注意,对于在PQconnectdb. 理论上,您可以读取包含正确值的pg_conn(内部结构)字段。last_sqlstate

例如,如果您尝试使用无效的登录名/密码进行连接,它将为您提供28P01. 对于错误的数据库,它将包含3D000.

我希望他们为这个领域定义了公开可用的 getter。

你也可以检查这个: libpq: How to get the error code after a failed PGconn connection

于 2017-02-03T09:19:05.243 回答