SqlError Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Verzamelt informatie die relevant is voor een waarschuwing of fout die door SQL Server wordt geretourneerd.
public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
- Overname
-
SqlError
- Kenmerken
Voorbeelden
In het volgende voorbeeld wordt elk SqlError in de SqlErrorCollection verzameling weergegeven.
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
Opmerkingen
Deze klasse wordt gemaakt door de .NET Framework-Data Provider voor SQL Server wanneer er een fout optreedt. Er wordt een exemplaar van SqlError gemaakt en beheerd door de SqlErrorCollection, die op zijn beurt door de SqlException klasse wordt gemaakt.
Berichten met een ernstniveau van 10 of minder zijn informatief en geven problemen aan die worden veroorzaakt door fouten in informatie die een gebruiker heeft ingevoerd. Ernstniveaus van 11 tot en met 16 worden gegenereerd door de gebruiker en kunnen worden gecorrigeerd door de gebruiker. Ernstniveaus van 17 tot en met 25 geven software- of hardwarefouten aan. Wanneer een fout op niveau 17, 18 of 19 optreedt, kunt u doorgaan met werken, hoewel u mogelijk geen bepaalde instructie kunt uitvoeren.
Het SqlConnection blijft open wanneer het ernstniveau 19 of minder is. Wanneer het ernstniveau 20 of hoger is, wordt de server meestal gesloten SqlConnection. De gebruiker kan de verbinding echter opnieuw openen en doorgaan. In beide gevallen wordt een SqlException gegenereerd door de methode die de opdracht uitvoert.
Zie Database Engine Errors voor meer informatie over fouten die zijn gegenereerd door SQL Server. Zie Database Engine Ernst van fout voor meer informatie over ernstniveaus.
Eigenschappen
| Name | Description |
|---|---|
| Class |
Hiermee wordt het ernstniveau van de fout opgehaald uit SQL Server. |
| LineNumber |
Hiermee haalt u het regelnummer op in de Transact-SQL opdrachtbatch of opgeslagen procedure die de fout bevat. |
| Message |
Hiermee haalt u de tekst op waarin de fout wordt beschreven. |
| Number |
Hiermee haalt u een getal op dat het type fout aangeeft. |
| Procedure |
Hiermee haalt u de naam op van de opgeslagen procedure of externe procedure-aanroep (RPC) die de fout heeft gegenereerd. |
| Server |
Hiermee haalt u de naam op van het exemplaar van SQL Server dat de fout heeft gegenereerd. |
| Source |
Hiermee haalt u de naam op van de provider die de fout heeft gegenereerd. |
| State |
Hiermee haalt u de unieke statuscode voor de fout op. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Hiermee haalt u de volledige tekst van het foutbericht op. |