change SUCCEEDED and FAILED macros to capture return value before building conditional expression; needed to avoid calling SQLDriverConnect on an already connected handle