1

当我通过 执行 SQL 命令时libpq,如果出现类似这样的错误,它会报告错误消息。

Error Domain=PQConnection Code=1 "ERROR:  syntax error at or near "fef"
LINE 1: fef
        ^

这是字符串消息。我可以解析消息 - 因为它非常有规律 - 以获取行号/列号,但这是不可靠的。是否有任何其他 API 来获取行/列号?任何正则化整数形式都会很好。

4

1 回答 1

1

使用PQresultErrorField带有键的功能PG_DIAG_STATEMENT_POSITION

手册

PG_DIAG_STATEMENT_POSITION 包含一个十进制整数的字符串,指示错误光标位置作为原始语句字符串的索引。第一个字符的索引为 1,位置以字符而不是字节为单位。

于 2013-10-22T17:34:36.800 回答