Возвращает ли adoCon.open в asp какое-либо значение

#sql-server #asp-classic #ado

#sql-сервер #asp-классический #ado

Вопрос:

Я устанавливаю соединение с базой данных сервера mssql в asp с помощью команды

adoCon.Открыть «Драйвер ={SQL Server}; Сервер =» amp; host_name amp; «; База данных =» amp; db_name amp; «; Uid=» amp; имя_пользователя amp; «; Pwd =» amp; пароль

Теперь мой вопрос в том, как узнать, было ли это установление соединения успешным. Возвращает ли adoCon.open какое-либо значение, которое я могу использовать в своем операторе if?

Ответ №1:

Я предполагаю, что вы используете объект ADODB-ActiveX… так что это будет свойство adoCon.State .

  • adStateClosed 0 -> Объект закрыт
  • adStateOpen 1 -> Объект открыт
  • adStateConnecting 2 -> Объект подключается
  • adStateExecuting 4 -> Объект выполняет команду
  • adStateFetching 8 -> Извлекаются строки объекта

найти дополнительную информацию здесь введите описание ссылки здесь

Ответ №2:

После успешного завершения этого метода соединение является активным, и вы можете выдавать ему команды и обрабатывать результаты.

Поэтому он возвращается при установлении соединения; если по какой-либо причине его не удалось создать — неверные учетные данные, проблемы с сетью и т. Д. — Это вызовет ошибку, Которую вы должны перехватить и обработать встроенным или вспомогательным способом.

 function open(cn as adodb.connection) as boolean
on error goto handler
   cn.Open "Driver={SQL Server}; Server=" amp; host_name amp; "; Database=" amp; db_name amp; "; Uid=" amp; user_name amp; "; Pwd=" amp; password
   open=true
   exit function
handler:
    response.write "fail " amp; err.description
end function
  

Комментарии:

1. Лучше добавить ссылку на документацию, которую вы цитируете: msdn.microsoft.com/en-us/library/ms676505(VS.85).aspx