There is a connection with the base, I can not catch the error - "Connection Error". When the network is disconnected, the test for the fall of the router.

on E: EOleException do begin // Не верный путь к БД if (E.ErrorCode=-2147467259) then ADOConnection1.Connected := false; ADOConnection1.KeepConnection := false; ADOConnection1.Close(); if messageDlg('Неверный путь к БД или сервер не отвечает! Запустить мастер подключения?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin SettingDB.Show; end; 

    1 answer 1

    If you have MySQL , then your case is ADOConnection.Errors[0].NativeError = 2006

     on E: EOleException do begin if (ADOConnection.Errors.Count > 0) then begin case (ADOConnection.Errors[0].NativeError) of 0: //Microsoft OLE DB Provider for ODBC Drivers //[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию //IM002 //-2147467259 Result := crError; 1045: //Access denied //Error: 1045 SQLSTATE: 28000 (ER_ACCESS_DENIED_ERROR) //Message: Access denied for user '%s'@'%s' (using password: %s) // http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_access_denied_error Result := crDenied; 1046: //No database selected //Error: 1046 SQLSTATE: 3D000 (ER_NO_DB_ERROR) //Message: No database selected // http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_no_db_error Result := crNoDB; 1049: //Unknown database //Error: 1049 SQLSTATE: 42000 (ER_BAD_DB_ERROR) //Message: Unknown database '%s' // http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_bad_db_error Result := crNoDB; 2003: //Can't connect //Error: 2003 (CR_CONN_HOST_ERROR) //Message: Can't connect to MySQL server on '%s' (%d) // http://dev.mysql.com/doc/refman/5.5/en/error-messages-client.html#error_cr_conn_host_error Result := crConnectionToHostError; 2005: // Unknown host //Error: 2005 (CR_UNKNOWN_HOST) //Message: Unknown MySQL server host '%s' (%d) // http://dev.mysql.com/doc/refman/5.5/en/error-messages-client.html Result := crUnknownHost; 2006: // Server gone //Error: 2006 (CR_SERVER_GONE_ERROR) //Message: MySQL server has gone away // http://dev.mysql.com/doc/refman/5.5/en/error-messages-client.html#error_cr_server_gone_error Result := crServerGone; else Result := crError; end; end else ApplicationShowException(E); // raise; Exit; end;