Поделиться через


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

Комментарии

Этот класс создается поставщиком данных платформа .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()

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

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

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