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() |
Возвращает полный текст сообщения об ошибке. |