C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
ADO + MSSQL Server, При неправильном пароле....
L@mEr
Отправлено: 25.05.2006, 20:07


Ученик-кочегар

Группа: Участник
Сообщений: 9



Здравствуйте. Очень нужна помощь.
Когда в ConnectionString пишу неправильный пароль, то программа, пытаясь выполнить ADOConnection->Open(), появляется ошибка: Project Project1.exe raised exception class EOleException with message 'Login failed for user User1' и т.д.
Пример
try
{
ADOConnection->Open("User1", "2");
if (!ADOConnection->Connected)
{
throw Exception("not connected");
}
} catch (...)
{
ShowMessage("xrenovo");
}
из аналогичной темы не избавляет от этой проблемы.
Буду благодарен за любую помощь — от ссылки до пошагового руководства.
Спасибо

Отредактировано L@mEr — 25/05/2006, 20:11
AVC
Отправлено: 26.05.2006, 09:51


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

из аналогичной темы не избавляет от этой проблемы

Странно, а у меня избавляет.
CODE

void __fastcall TForm1::Bt_AdoConnectClick(TObject *Sender)
{
try { ADOConnection1->Open("qqq", "1"); }
catch (...) { ShowMessage("not connected"); }

Может это у вас происходит только при запуске из-под Buildera, а из-под Widows этого нет? Тогда настройте систему обработки исключений Tools / Debugger options / исключения должно обрабатывать приложение.


Отредактировано AVC — 26/05/2006, 08:53
Gedeon
Отправлено: 26.05.2006, 10:54


Ветеран

Группа: Модератор
Сообщений: 1742



Ну, во первых у себя проверил, если не правильный пароль, то никакого эксепшена я не получаю, а во вторых, при неверном пароле просто вылазит окошко с сообщением, что "User 'sa', login failed", а код
CODE

try{
 con1->Open("sa","123");
   }
   catch(...){}

полностью его давит
L@mEr
Отправлено: 26.05.2006, 12:48


Ученик-кочегар

Группа: Участник
Сообщений: 9



QUOTE (AVC @ 26/05/2006, 09:51)
Тогда настройте систему обработки исключений Tools / Debugger options / исключения должно обрабатывать приложение.

Код
try
{
con->Open("User1","2");
}
catch(...)
{
ShowMessage("xrenovo");
}
заработал после снятия галочек в Tools->Debugger Options->Language Exceptions->Stop on Delphi/C++ Exceptions.
Принявшим участие в обсуждении спасибо. smile.gif
olegenty
Отправлено: 26.05.2006, 15:23


Ветеран

Группа: Модератор
Сообщений: 2412



только галки верни на место... smile.gif

Вернуться в Работа с базами данных в C++Builder