discontinuedPackage connect_database has been discontinued.

close method

Future<Result<Unit>> close()

Implementation

Future<Result<Unit>> close() async {
  try {
    if (_isConnected) {
      final disconnectResult = await odbc.disconnect();
      if (disconnectResult.isError()) {
        final error = disconnectResult.exceptionOrNull();
        final errorMessage = error?.toString() ?? 'Unknown error';

        if (errorMessage.contains('already closed') ||
            errorMessage.contains('connection closed') ||
            errorMessage.contains('Lost connection')) {
          debugPrint('Warning: Connection was already closed. Continuing...');
        } else {
          debugPrint('Warning while disconnecting: $errorMessage');
        }
      }
    }
  } catch (e) {
    debugPrint(
        'Warning while closing connection (may already be closed): $e');
  } finally {
    _currentIndex = -1;
    _currentRecord = {};
    _isConnected = false;
    _result.clear();
    _params.clear();
  }

  return Success.unit();
}