Как обрабатывать SQL Query CommandTimeout в C# 2.0

Я получил ниже код в C#.

SqlConnection conn = new SqlConnection("Data Source=MANOJ-PC\\SQLEXPRESS;Initial Catalog=master;Integrated Security=False;User Id=sa;Password=Manoj;");
conn.Open();

if (conn != null)
{
    //create command
    SqlCommand cmd = new SqlCommand("dbo.GETTridionLinkData", conn);
    cmd.Parameters.AddWithValue("@PageID", "637518");
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandTimeout = 500;
    StringBuilder sbXML = new StringBuilder();
    //Adding Root node
    sbXML.Append("<TridionLinks>");

    //Reading all the values of Stored procedure return
    using (XmlReader reader = cmd.ExecuteXmlReader())
    {
        while (reader.Read())
        {
            sbXML.Append(reader.ReadOuterXml().Replace("//", "/"));
        }
    }

    //Closing the root node tag
    sbXML.Append("</TridionLinks>");
    XmlDocument xDoc = new XmlDocument();

    //Loading string xml in XML Document
    xDoc.LoadXml(sbXML.ToString());
}

В приведенном выше коде вы можете видеть, что я установил cmd.CommandTimeout = 500; Теперь я хочу дать пользователю сообщение об ошибке, если время ожидания больше этого или вы можете сказать, что база данных не работает.

Пожалуйста, предложите!

1 ответ

Решение

Пожалуйста, обратитесь к разделу Как отлавливать исключения тайм-аута SQLServer

На вопрос уже ответили..

Чтобы улучшить кодирование, вы можете использовать

    пытаться{

         using (sqlconnection Conn = new SqlConnection("Источник данных =MANOJ-PC\\SQLEXPRESS; Начальный каталог = master; Интегрированная безопасность = Ложь; Идентификатор пользователя = sa; Пароль =Manoj;"){
            ...
        }
    }catch(sqlException ex){
       if (ex.Number == -2) {
        // вернуть ваше сообщение элементу управления или отобразить ошибку
       }
    }

ну просто пример..

Другие вопросы по тегам