![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
![]()
Я создаю клиент для работы с MSSQL через Delphi. Использую ADO.
В форме входа 4 эдитбокса, где вводятся Логин,Пароль,Сервер,База данных. При нажатии на кнопку "Вход", эти параметры генерируют строку ConnectionString для ADOConnection и значение Connected изменяется на True. В принципе всё работает, но я хочу реализовать защиту от ввода некорректных Логина/Пароля/... Если их ввести просто левыми, программа подвисает, и через некоторое время выдаёт ошибку. В интернетах я нашёл событие OnWillConnect, которое вызывается перед подключением. Вот его заголовок Код:
Код:
Код:
В описании метода TWillConnectEvent я прочитал, что он вызывается после получения подтверждения от провайдера о том, что соединение будет открыто, перед его реальным открытием. Значит ли это то, что проверка Логин/Пароля/... происходит раньше, чем выполняется метод? И что в этом случае делать? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
![]()
Покопавшись по интернету наткнулся на класс Exception. Попробовал сделать через исключение:
Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]()
Попробуйте так:
Код:
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
![]()
Вначале программа подвисла, затем выполнились команды, находящиеся в except после do, затем программа снова подвисла, и выдала системную ошибку, что SQL сервер не обнаружен, либо неверные данные.
Как я понял, всё работает, только нужно отключить вывод ошибок. В паскале, например, можно было изменять директивы компилятора прямо в коде. Например {$I-} отключал проверку правильности ввода/вывода. Есть ли аналог под дельфи, и это вообще то? |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]()
После этого блока:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 42
|
![]()
Активизирую ADOTable
Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
![]()
Попробывал, убрал
Код:
|
![]() |
![]() |
![]() |
#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 |