我用 libpq.so 编程。我想获得在 SQL Standard 中称为 sql state 的错误代码。我应该如何在我的 c 代码中获得它?
问问题
655 次
2 回答
2
显而易见的 Google 搜索libpq get sqlstate
会找到libpq-exec 文档。搜索该部分中的SQLSTATE
发现。PG_DIAG_SQLSTATE
PQresultErrorField
因此,您可以看到您可以调用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 回答