|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.07.2009, 13:41 | #1 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
ADO.Обход ошибок при програмной идентификации.
Я создаю клиент для работы с MSSQL через Delphi. Использую ADO.
В форме входа 4 эдитбокса, где вводятся Логин,Пароль,Сервер,База данных. При нажатии на кнопку "Вход", эти параметры генерируют строку ConnectionString для ADOConnection и значение Connected изменяется на True. В принципе всё работает, но я хочу реализовать защиту от ввода некорректных Логина/Пароля/... Если их ввести просто левыми, программа подвисает, и через некоторое время выдаёт ошибку. В интернетах я нашёл событие OnWillConnect, которое вызывается перед подключением. Вот его заголовок Код:
Код:
Код:
В описании метода TWillConnectEvent я прочитал, что он вызывается после получения подтверждения от провайдера о том, что соединение будет открыто, перед его реальным открытием. Значит ли это то, что проверка Логин/Пароля/... происходит раньше, чем выполняется метод? И что в этом случае делать? |
30.07.2009, 14:14 | #2 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
Покопавшись по интернету наткнулся на класс Exception. Попробовал сделать через исключение:
Код:
|
30.07.2009, 14:29 | #3 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
Попробуйте так:
Код:
|
30.07.2009, 15:29 | #4 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
Вначале программа подвисла, затем выполнились команды, находящиеся в except после do, затем программа снова подвисла, и выдала системную ошибку, что SQL сервер не обнаружен, либо неверные данные.
Как я понял, всё работает, только нужно отключить вывод ошибок. В паскале, например, можно было изменять директивы компилятора прямо в коде. Например {$I-} отключал проверку правильности ввода/вывода. Есть ли аналог под дельфи, и это вообще то? |
30.07.2009, 15:32 | #5 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
Цитата:
|
|
30.07.2009, 16:44 | #6 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
|
30.07.2009, 16:48 | #7 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
После этого блока:
Код:
|
30.07.2009, 17:04 | #8 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
Активизирую ADOTable
Код:
|
30.07.2009, 17:18 | #9 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
Попробывал, убрал
Код:
|
30.07.2009, 17:37 | #10 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
Tools->Debugger options->language exceptions->Stop on Delphi Exceptions
С этого убрать галочку? Это отключит ошибки? |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема при открытии базы при помощи ADO | SlavaSH | БД в Delphi | 21 | 30.06.2009 16:51 |
Много ошибок в gl.h при подключении в визуал студио 2008 | KrL^^ | Общие вопросы C/C++ | 1 | 12.04.2009 20:43 |
Проблема с параметрами при работе С ADO | А. Долматов | БД в Delphi | 22 | 30.11.2007 08:47 |
MS SQL server 2000, ADO. Добавленые записи не отображаются при последующих запросах. | _victor | БД в Delphi | 1 | 17.06.2007 13:33 |