能不能连接不上SQL SERVER数据库服务器,不弹出错误窗口,这个连接出错的提示总是在异常被扑捉到之前就挑了出来,好像没办法控制。我是在Hispital.dpr里扑捉的try
 dm.db1.Connected:=true;
 except
   showmessage('数据库连接失败');
 Application.Terminate;
 end;但是好像不行。连接出错的提示总是在异常被扑捉到之前就挑了出来,怎么不显示错误信息呢。如果连接不上SQL SERVER数据库,就什么也不做

解决方案 »

  1.   

    因为那个异常窗口是属于系统级的错误。这个连接由windows控制,属于系统级的错误。很难控制
      

  2.   

    提示对话框错误信息:
    Project1X [DBNETLIB][ConnectionOpen(Connect()).]SQL Server does not exist or access denied.这个异常窗口是属于系统级的错误。 
      

  3.   

    Delphi编译过程中添加的保护机制!
      

  4.   

    用hook技术,截获message信息再做处理,应该是可以的,但实现起来太麻烦了。大家有什么更好的思路吗,谢谢
      

  5.   

    Try
      DM.DB1.Connected:=True;
    Except
      on Exception.Create('数据库连接失败');
      Application.Terminate;
    End;
      

  6.   

    Try
      DM.DB1.Connected:=True;
    Except
      on Exception  do 
      MessageBox(form1.Handle,'数据库连接失败!','注意',MB_OK);
    End;
      

  7.   

    照样会弹出错误窗口begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      {try
       Form1.con1.Connected:=true;
       except
         //showmessage('数据库连接失败');
         //on Exception.Create('数据库连接失败');
         on e:exception do
         begin
             showmessage('数据库连接失败');
       Application.Terminate;
       end;
       end;}
       try
        Form1.con1.Connected:=true;
        except
        //on e:exception do
          //ErrorMsg := e.Message + #13 + #10 +'--- 错误是俺发现的 ---' ;
          on e:exception do
          begin
          Exception.Create('数据库连接失败');
            Application.Terminate;
          end;
        end;
       Application.Run;end.
      

  8.   

    提示对话框错误信息:
    Project1X [DBNETLIB][ConnectionOpen(Connect()).]SQL Server does not exist or access denied.这个异常窗口是属于系统级的错误。 这个错误出现的原因是什么?虽然是连不上数据库,但这是什么原因引起的?
      

  9.   

    编译状态任何错误都提示这很正常,但运行exe文件就没事了。我的程序就是尝试连接,连不上也不会报错。
      

  10.   

    小疑问,^_^,except后面的语句多于一条的时候不用写begin  end;的吗?^_^
      

  11.   

    多于一条的时候当然要写begin  end