你如果用了ADOconnection控件连接SQL,那么只要这样:
try
  adoconnection.connected:=true;
  showmeessage('ok');
except
  showmessage('no');
end;

解决方案 »

  1.   

    另一种方法是sqldmo,大概就是sqldmo里面有判断是否存在服务器,存在的话判断是否启动等,查一下msdn
      

  2.   

    /**//// <summary>
    /// 获得局域网可用服务器列表
    /// </summary>
    /// <returns>局域网可用服务器列表</returns>
    public ArrayList GetServerList()
    {
    SQLDMO.ApplicationClass oApp = new SQLDMO.ApplicationClass();
    ArrayList alTemp = new ArrayList();
    try
    {
    SQLDMO.NameList iServerList = oApp.ListAvailableSQLServers();
    if( iServerList != null )
    {
    for( int i = 1; i <= iServerList.Count; i )
    {
    alTemp.Add( iServerList.Item(i).ToString() );

    }
    return alTemp;
    }
    catch
      

  3.   

    ????????????????????????hrb2008()  不在吗?????????????
      

  4.   

    asp的不会写:)只知道大概是这个原理/
      

  5.   

    简单,在ASP中,链接数据库不成功,类似这样 if err <> 0 then 获取一下错误做出相应的动作就可
      

  6.   

    老大,完整的怎么写?conn.open connstr1
    if err <> 0 then ...end if 
    是这样吗?
      

  7.   

    好象不行~~~~~~~~~~~~
    conn.open connstr1 就报错!!!!!!!!!!!!!!
    还没到if 语句~~~~~~~~~~~~~
      

  8.   

    <% 

    Set conn1 = Server.CreateObject("ADODB.Connection") 
    connstr1 = "Driver={SQL Server};SERVER=10.97.1."+output+";UID=sa;PWD=sa;database=outfact"

    On Error Resume Next '出错不显示,执行下一条
       conn1.open connstr1
      
    If Err.Number<>0 Then
         response.Write("close")
     else
     response.Write("open")
          Err.Clear      '清除错误
       End If
    On Error Goto 0  '取消on error resume next  重新显示错误。
    %>
    这样可以,但执行效率太底了...........
    页面打开特慢..........
      

  9.   

    conn.open connstr1
    On Error Resume Next   一定要加这句
    If Err Then 或 if err.number=0 then 做你要做的事...end if 
    是这样吗?