Lo correcto es que antes de enviarle un comando a una Base de Datos verifiques que estás conectado a ella (podrías haberte desconectado por varias razones). Esta función te dará esa información:

FUNCTION HayConexion
Local lnResultado
   TRY
      lnResultado = SQLExec(gnHandle, "SELECT CURRENT_TIME FROM RDB$DATABASE")
   CATCH
      lnResultado = -1
   ENDTRY
   if Used("SQLRESULT")
      SELECT SQLRESULT
      USE
   endif
   Return(lnResultado == 1)
ENDFUNC
 *
 *

Esta función te devolverá .T. si estás conectado a la Base de Datos o .F. si no lo estás.

.

Anuncios