try
{
OleConnection1.Open();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}

解决方案 »

  1.   

    to icyer() :
      我需要准确地得到返回值。比如,要知道是否连接超时或是连接字符串中的用户名、密码错误,进行相应的提示!
      

  2.   

    你好,你可以用OleDbException class. 请看如下代码:       try
           {
               cn.Open();
           }
           catch (OleDbException ex)
           {
               for (int i = 0; i < ex.Errors.Count; i++)
               {
                   MessageBox.Show("Index #" + i.ToString() + "\n" +
                       "Message: " + ex.Errors[i].Message + "\n" +
                       "Native: " + ex.Errors[i].NativeError.ToString() + "\n" +
                       "Source: " + ex.Errors[i].Source + "\n" +
                       "SQL: " + ex.Errors[i].SQLState + "\n");
               }
           }更多信息请参考如下文章:
    HOW TO: Obtain Underlying Provider Errors by Using ADO.NET in Visual C# .NET
    http://support.microsoft.com/default.aspx?scid=KB;EN-US;q308650- 微软全球技术中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)