Sinceramente, creo que la forma más correcta de comprobar si ha habido un problema de conexión es mediante la captura de excepciones. Esto te permitirá saber si ha fallado al abrir la conexión, al ejecutarla o al acceder a un campo.
Por otro lado, ya que ha salido la discusión, un Select Case es más optimo que un If, ya que internamente funciona con una función de Hash y una tabla precalculada que permite saber exactamente a que parte del código a de saltar para ejecutar.
En cuanto a que en el ejemplo con los if's puesto por mortenor
Cita: Y en cuanto a lo de que en el if comprueba todos y en el case solo una vez ¿que mas da?, cuanta diferencia hay 1 microsegundo quizas? y recuros, 1 bit? no se no cuesta nada.
Eso en su código es falso. No tiene porque comprobar todos los if's, eso solo pasaría en el caso peor, pero independientemente de eso siempre hay que mirar de programar lo mejor posible. Es más eficiente y más limpio el código con select case que con if's anidados. Ya no se trata de "arañar 1 bit" sino de legibilidad del código. Yo, entre programar mal y programar bien, prefiero programar bien :)