用DIRECTORYEXITS。
if not directoryexits('server's path') then
   .......

解决方案 »

  1.   

    我用的是database,如何判断当前的数据库服务是否启动??因为如何数据库未启动,而我在前台作查询动作时,程序报错,并且无法恢复,需要关闭重新启动。问题很严重,用户强烈要求改善功能。
      

  2.   

    我习惯程序开始的时候加上这样的代码:with Db1 do
      begin
        Connected := false;
        Params.Clear;
        DatabaseName := 'SvrBd';
        AliasName := 'Sd_Bd';
        LoginPrompt := false;
        try
          Connected;
        except
          Application.MessageBox(pchar('无法连接本地数据库,系统终止!'),pchar('警告'),mb_ok);
          Application.Terminate;
        end;
      end;判断数据库是否已经启动。对一般的应用环境来说,数据库服务器应当不会轻易死掉,所以在做有关的数据操作时都没有去查看数据库服务器是否还可用。当然可以在使用post或者del操作时,加上try..except结构,一旦有问题再去调用上面的代码,已保证服务器可用。
      

  3.   

    快给分吧,同意cobi的做法。不过能否通过数据库错误返回代码来作判断,决定我该退出程序呢,还是稍作等待。。
      

  4.   

    to cobi: 你的代码我试了一下,还是不行。如果我把网线拔了,还是没有执行execpt的代码。      
      

  5.   

    应当不会吧。我的代码也是提供给用户使用的,一直没有问题。我的环境是WIN98 + SQL SERVER7。其实你也可以这样做,在启动数据库之前,启动一个计时线程,如果超过某一段时间即停止程序执行。
      

  6.   

    应该说没有大问题,在对数据库操作时都加上try execpt end ;
    用一个时钟监测是否连接到服务器也很有必要,
    编译时如果出错,首先不会进入execpt,当提示出错后继续运行,就会进入execpt的。
      

  7.   

    if not ping(服务器IP) then
      exit;
     try 
       curdatabase.connect:=true;
     except
        exit;
     end
    //ping函数要自己写
      一般ping几秒就能知道服务器是否能联接