Zatupitel
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Dronton2 Цитата: Свойство Connected в DevArt - не только для чтения. При изменении этого свойства вручную, вызываются методы Connect и Disconnect. Поэтому, код, показанный andrandrk, не проверяет подключение к БД, а подключается к ней. | Connected - это свойство. В десижне его можно выставить в true или false для подключения к БД. Это удобно, чтобы не вызывать метод Connect. Собственно выставление этого свойства в true, и вызовет метод Connect. Но вот в продакшн, лучше вызывать именно Connect, который уже и установит свойство Connected в true и затем его можно чекать, на предмет есть подключение или нет, дабы не вызывать метод Connect и создавать новое подключение в новом потоке. Выдержка из мануала: Цитата: Call the Connect method to establish a connection to the server. Connect sets the Connected property to True. If LoginPrompt is True, Connect prompts user for login information as required by the server, or otherwise tries to establish a connection using values provided in the Username, Password, and Server properties. | И это логично. Поэтому, вызывая метод Connect, мы можем поймать исключение через try.. catch, либо, если это не фатальная ошибка, через внутренний обработчик OnError. Что-то вроде такого: Код: sError = E.Message; if ( (pos('10061',sError) > 0) // не могу подключиться к БД || (pos('10060',sError) > 0) // не могу подключиться к БД || (pos('gone away',sError) > 0) // потеря соединения || (pos('10065',sError) > 0) // подключение к серверу БД || (pos('Lost connection',sError) > 0) // потеря соединения во время запроса к БД //.......... ) | | Всего записей: 469 | Зарегистр. 31-08-2006 | Отправлено: 11:57 29-12-2017 | Исправлено: Zatupitel, 12:00 29-12-2017 |
|