Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / конкретизация SqlException / 6 сообщений из 6, страница 1 из 1
16.04.2006, 23:52
    #33669889
madgol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конкретизация SqlException
Как определить, что исключение вызвало например нарушение целостности таблицы (попытка удалить внешний ключ). Похоже что-то осмысленное выдает SqlException.Message, но не парсить же строку?
...
Рейтинг: 0 / 0
17.04.2006, 00:49
    #33669935
Nikulin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конкретизация SqlException
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public static void ShowSqlException(string connectionString)
{
    string queryString = "EXECUTE NonExistantStoredProcedure";
    StringBuilder errorMessages = new StringBuilder();
    
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        try
        {
            command.Connection.Open();
            command.ExecuteNonQuery();
        }
        catch (SqlException ex)
        {
            for (int i =  0 ; i < ex.Errors.Count; i++)
            {
                errorMessages.Append("Index #" + i + "\n" +
                    "Message: " + ex.Errors[i].Message + "\n" +
                    "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                    "Source: " + ex.Errors[i].Source + "\n" +
                    "Procedure: " + ex.Errors[i].Procedure + "\n");
            }
            Console.WriteLine(errorMessages.ToString());
        }
    }
}

Может поможет...
...
Рейтинг: 0 / 0
17.04.2006, 01:27
    #33669950
madgol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конкретизация SqlException
NikulinМожет поможет...
Вопрос в том - как определить что вызвало исключение (а именно отловить нарушение целостности).
Путем разбора ex.Errors.Message ? (там содержится что-то вроде "FOREIGN KEY constraint")
...
Рейтинг: 0 / 0
17.04.2006, 12:15
    #33670682
saint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конкретизация SqlException
ex.Errors[0].Number==547

это?
...
Рейтинг: 0 / 0
17.04.2006, 19:13
    #33672079
madgol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конкретизация SqlException
saintex.Errors[0].Number==547 это?ъ
Да, спасибо.
Эти номера похоже перечисленны в master.dbo.sysmessages
...
Рейтинг: 0 / 0
08.06.2006, 09:10
    #33779435
RealMaksimus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конкретизация SqlException
Если бы только sysmessages.
Если клиент не может подсоединиться к серверу он выдает совершенно другие ошибки. "General network error" или "SQL Server does not exist". Вот бы список их кодов! Искал, не нашел.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / конкретизация SqlException / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]