SqlError Класс

Определение

Собирает сведения, относящиеся к предупреждению или ошибке, возвращаемой SQL Server.

public ref class SqlError sealed
public sealed class SqlError
[System.Serializable]
public sealed class SqlError
type SqlError = class
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
Наследование
SqlError
Атрибуты

Примеры

В следующем примере отображаются все SqlError элементы коллекции SqlErrorCollection .

public static void ShowSqlException(string connectionString)
{
    string queryString = "EXECUTE NonExistantStoredProcedure";

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        try
        {
            command.Connection.Open();
            command.ExecuteNonQuery();
        }
        catch (SqlException ex)
        {
            DisplaySqlErrors(ex);
        }
    }
}

private static void DisplaySqlErrors(SqlException exception)
{
    for (int i = 0; i < exception.Errors.Count; i++)
    {
        Console.WriteLine("Index #" + i + "\n" +
            "Error: " + exception.Errors[i].ToString() + "\n");
    }
    Console.ReadLine();
}
Public Sub ShowSqlException(ByVal connectionString As String)
    Dim queryString As String = "EXECUTE NonExistantStoredProcedure"

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)

        Try
            command.Connection.Open()
            command.ExecuteNonQuery()

        Catch ex As SqlException
            DisplaySqlErrors(ex)
        End Try
    End Using
End Sub

Private Sub DisplaySqlErrors(ByVal exception As SqlException)
    Dim i As Integer

    For i = 0 To exception.Errors.Count - 1
        Console.WriteLine("Index #" & i & ControlChars.NewLine & _
            "Error: " & exception.Errors(i).ToString() & ControlChars.NewLine)
    Next i
    Console.ReadLine()
End Sub

Комментарии

Этот класс создается Data Provider .NET Framework для SQL Server при возникновении ошибки. Экземпляр SqlError создается и управляется SqlErrorCollectionклассом, который, в свою очередь, создается классом SqlException .

Сообщения с уровнем серьезности 10 или менее являются информационными и указывают на проблемы, вызванные ошибками в информации, введенной пользователем. Уровни серьезности от 11 до 16 создаются пользователем и могут быть исправлены пользователем. Уровни серьезности от 17 до 25 указывают на ошибки программного обеспечения или оборудования. При возникновении ошибки уровня 17, 18 или 19 можно продолжить работу, хотя вы не сможете выполнить определенную инструкцию.

Остается открытым, SqlConnection если уровень серьезности равен 19 или меньше. Если уровень серьезности равен 20 или больше, сервер обычно закрывается SqlConnection. Однако пользователь может повторно открыть подключение и продолжить. В обоих случаях SqlException метод создает метод, выполняющий команду.

Дополнительные сведения об ошибках, созданных SQL Server, см. в разделе ядро СУБД Ошибки. Дополнительные сведения о уровнях серьезности см. в разделе ядро СУБД серьезности ошибок.

Свойства

Имя Описание
Class

Возвращает уровень серьезности ошибки, возвращенной из SQL Server.

LineNumber

Возвращает номер строки в пакете команд Transact-SQL или хранимой процедуре, содержащей ошибку.

Message

Возвращает текст, описывающий ошибку.

Number

Возвращает число, определяющее тип ошибки.

Procedure

Возвращает имя хранимой процедуры или удаленного вызова процедуры (RPC), создающего ошибку.

Server

Возвращает имя экземпляра SQL Server, создающего ошибку.

Source

Возвращает имя поставщика, создающего ошибку.

State

Возвращает уникальный код состояния ошибки.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает полный текст сообщения об ошибке.

Применяется к

См. также раздел