Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何从libpq获取sql状态?_Postgresql - Fatal编程技术网

Postgresql 如何从libpq获取sql状态?

Postgresql 如何从libpq获取sql状态?,postgresql,Postgresql,我用libpq.so编程。我想获取在sql标准中称为sql状态的错误代码。如何在我的c代码中获取该错误代码?查找。搜索SQLSTATE会在pqresultorfield部分中找到PG\u DIAG\u SQLSTATE 因此,您可以看到,您可以调用pqresultorfield(thePgResult,PG\u DIAG\u SQLSTATE)来获取SQLSTATE,由于声誉原因,这只是我不能以注释形式留下的补充 请注意,对于在PQconnectdb期间可能发生的错误,您无法以可移植的方式获取S

我用libpq.so编程。我想获取在sql标准中称为sql状态的错误代码。如何在我的c代码中获取该错误代码?

查找。搜索
SQLSTATE
会在
pqresultorfield
部分中找到
PG\u DIAG\u SQLSTATE

因此,您可以看到,您可以调用
pqresultorfield(thePgResult,PG\u DIAG\u SQLSTATE)
来获取
SQLSTATE

,由于声誉原因,这只是我不能以注释形式留下的补充

请注意,对于在
PQconnectdb
期间可能发生的错误,您无法以可移植的方式获取SQLSTATE。理论上,您可以读取包含正确值的
pg\u conn
(内部结构)字段
last\u sqlstate

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

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

您也可以检查此项:
请考虑提交一个补丁程序。