程序正常情况下连接SQLserver2005没有问题,如果SQLserver2005服务器连接失败,程序在进程中无法关闭,就只能调出进程管理,手动结束进程才行。我在DM下添加的ADO控件 ,其他窗体都是调用DM的,没有自己连库的情况出现,所有ADOconnection,adoquery控件都在DM上面放置的,在DM的Create下代码如下,是不是代码有问题?还是这么做不妥呀??请教了
procedure TWMG_DM.DataModuleCreate(Sender: TObject);
var
con:string;
begin  CNN.Connected:=False;
  CNN.LoginPrompt:=False;    
  CNN.ConnectionTimeout:=10; 
  con:='Provider=SQLOLEDB.1;'+'Password=123456;Persist Security Info=false;'+'User ID=sa;Initial Catalog=MgsebSQL;'+'Data Source=9POIIOA26626E2\SQLEXPRESS';
  CNN.ConnectionString :=con;    try
      CNN.Connected :=true;
    except
      application.MessageBox('连接数据库失败!请查看服务器是否开启','提示',0+64) ;
      CNN.Connected :=false;//这句好像不加也一样吧
      Application.Terminate; 
      Exit;
    end;
end;
哪位大神有简单点的方法做个连库失败后退出的例子不?sql服务器数据库

解决方案 »

  1.   

    你是不是用了调试模式运行程序啊,without debug 运行程序看看 
    另外
     Application.Terminate; 
     Exit; // 有上面终止程序了,这个exit执行不到,多余
      

  2.   

    sololie 
    你说的without debug 运行程序看看 ,就是Tools下debug option,将language exceptions标签页下的stop on delphi exceptions选项的勾选去掉,是这样吗??还是别的意思哈
    我那个运行的就是去掉钩钩滴,程序连不上数据库的情况,就弹个'连接数据库失败!请查看服务器是否开启'的框框,然后打开进程管理器,就发现那个执行程序.exe还在进程里面但我看程序里面DM下的adoquery的active都是false呀,应该没有还在连库的了呀???
    大哥你们连库失败怎么判断的哈?有简单点的给发个我,学习下哈