Как обрабатывать 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) { // вернуть ваше сообщение элементу управления или отобразить ошибку } }
ну просто пример..