Как отловить ошибку EOleException

aisaev
Дата: 29.11.2007 14:35:16
Кто знает как отловить ошибку EOleException:
[Cache ODBC][State:28000][Native Code 402]
LastPrimat
Дата: 29.11.2007 14:51:00
  
  try
    {TO DO}
  except
    on E: EOleException do
    begin
      if E.ErrorCode = 402 then
        ShowMessage('Отловили ошибку!');
    end;
  end;
aisaev
Дата: 29.11.2007 15:00:37
Не помогло.Эта ошибка выскакиевает в этой строке при вводе неправильного пороля.
dmodule.Connection.Open;
SQLap
Дата: 29.11.2007 15:04:09
В дебуггере посмотрите код ошибки. Вполне может быть что он у вас и не NativeCode совсем
msLex
Дата: 29.11.2007 15:07:58
aisaev
Кто знает как отловить ошибку EOleException:
[Cache ODBC][State:28000][Native Code 402]

Вы хоть компоненты доступа назовите
LastPrimat
Дата: 29.11.2007 15:08:44
SQLap
В дебуггере посмотрите код ошибки. Вполне может быть что он у вас и не NativeCode совсем

логично :):)
а вообще-то неплохо ловить все ошибки, а код выдавать в тексте мессажа
aisaev
Дата: 29.11.2007 15:11:01
ADOConnection использую
А вот сам код.

var
  asUserName, asPassword, asDataSource: AnsiString;
begin
  asUserName    := name.Text;
  asPassword    := password.Text;
  asDataSource  := dbalias.Text;
  dmodule.Connection.ConnectionString:='Password = ' + asPassword+
    ';User ID = ' + asUserName +';Data Source = ' + asDataSource +
    ';Mode = ReadWrite';
 try
  dmodule.Connection.Open;
    if dmodule.Connection.Connected then
      begin
        dmodule.QueryPasw.SQL.Clear;
        dmodule.QueryPasw.SQL.Add('SELECT CacheUser FROM ADMIN.Users');
        dmodule.QueryPasw.Open;
        if dmodule.QueryPasw.FieldByName('CacheUser').AsString=asUserName THEN
        begin
        Application.CreateForm(TForm1, Form1);
        form1.Show;
        PasswordDlg.Hide;
      end;
    end;
 except
 on E: EOleException do
    begin
      if E.ErrorCode = 402 then
        ShowMessage('Îòëîâèëè îøèáêó!');
    end;
 end;
end;
msLex
Дата: 29.11.2007 15:18:05
смотрите в сторону
TADOConnection.Errors[i].NativeError
aisaev
Дата: 29.11.2007 15:26:12
Проверил это в дельфи выскакивает ошибка.Из исполняемого экзешника нет никакой ошибки.
SQLap
Дата: 29.11.2007 15:29:46
aisaev
Проверил это в дельфи выскакивает ошибка.Из исполняемого экзешника нет никакой ошибки.


Это как, от балды вводим пароль и заходим, что-ли? )
Дебуггер-то что говорит на строке
if E.ErrorCode = ...
?
Если 0, то надо действительно смотреть в сторону msLex'а