powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / конкретизация SqlException
6 сообщений из 6, страница 1 из 1
конкретизация SqlException
    #33669889
madgol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как определить, что исключение вызвало например нарушение целостности таблицы (попытка удалить внешний ключ). Похоже что-то осмысленное выдает SqlException.Message, но не парсить же строку?
...
Рейтинг: 0 / 0
конкретизация SqlException
    #33669935
Фотография Nikulin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
конкретизация SqlException
    #33669950
madgol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikulinМожет поможет...
Вопрос в том - как определить что вызвало исключение (а именно отловить нарушение целостности).
Путем разбора ex.Errors.Message ? (там содержится что-то вроде "FOREIGN KEY constraint")
...
Рейтинг: 0 / 0
конкретизация SqlException
    #33670682
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ex.Errors[0].Number==547

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


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