SqlError Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Shromažďuje informace relevantní pro upozornění nebo chybu vrácenou 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
- Dědičnost
-
SqlError
- Atributy
Příklady
Následující příklad zobrazí každý SqlError v kolekci 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
Poznámky
Tato třída je vytvořena .NET Framework Zprostředkovatel dat pro SQL Server při výskytu chyby. Instance SqlError je vytvořena a spravována SqlErrorCollection, která je následně vytvořena SqlException třídou.
Zprávy s úrovní závažnosti 10 nebo méně jsou informační a indikují problémy způsobené chybami v informacích, které uživatel zadal. Úrovně závažnosti od 11 do 16 jsou generovány uživatelem a uživatel je může opravit. Úrovně závažnosti od 17 do 25 označují chyby softwaru nebo hardwaru. Pokud dojde k chybě úrovně 17, 18 nebo 19, můžete pokračovat v práci, i když možná nebudete moct provést konkrétní příkaz.
Zůstane SqlConnection otevřená, pokud je úroveň závažnosti 19 nebo méně. Pokud je úroveň závažnosti 20 nebo vyšší, server obvykle zavře SqlConnection. Uživatel ale může znovu otevřít připojení a pokračovat. V obou případech je vygenerována SqlException metodou, která spouští příkaz.
Další informace o chybách generovaných SQL Server najdete v tématu Database Engine Chyby. Další informace o úrovních závažnosti najdete v tématu Database Engine Závažnosti chyb.
Vlastnosti
| Name | Description |
|---|---|
| Class |
Získá úroveň závažnosti chyby vrácené z SQL Server. |
| LineNumber |
Získá číslo řádku v rámci dávky příkazu Transact-SQL nebo uložená procedura, která obsahuje chybu. |
| Message |
Získá text popisující chybu. |
| Number |
Získá číslo, které identifikuje typ chyby. |
| Procedure |
Získá název uložené procedury nebo vzdálené volání procedur (RPC), který vygeneroval chybu. |
| Server |
Získá název instance SQL Server, která vygenerovala chybu. |
| Source |
Získá název poskytovatele, který vygeneroval chybu. |
| State |
Získá jedinečný stavový kód chyby. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Získá úplný text chybové zprávy. |