使用libpq过程中发现如下问题,大家有没有碰到或是怎么解决的?在正常连接后,手动关闭服务器端服务后
客户端使用PQstatus获取当前连接状态还是CONNECTION_OK必须是PQexec执行一个查询,并获得一个PGRES_FATAL_ERROR返回值后,
再次执行PQstatus,才能得到连接断开的返回值.大家是怎么解决这个问题的呢?我现在是在每次PQexec前先PQstatus检查状态是否正常.
莫非得使用PQexec后再检查PQstatus?

解决方案 »

  1.   

    是这样的。无法连接,也是执行SQL语句的错误之一。我不会在每次PQEXEC前都特意检查PQSTATUS。
    如果PQEXEC出错,就获取错误信息,再进一步处理。
      

  2.   

    本来PQstatus放前是想如果由于网络原因断开了,方便重新建立连接.继续执行.
    现在想想PQstatus放后也不错,在PQexec错误后,再检测PQstatus,如果确实是网络原因断开了,再进一步重连,如能连接再次执行PQexec..这样可能效率也好点,不用每次都PQstatus