SqlException.Class Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SQL Server için .NET Framework Veri Sağlayıcısı'ndan döndürülen hatanın önem derecesini alır.
public:
property System::Byte Class { System::Byte get(); };
public byte Class { get; }
member this.Class : byte
Public ReadOnly Property Class As Byte
Özellik Değeri
Hatanın önem düzeyini gösteren 1 ile 25 olan bir değer.
Örnekler
Aşağıdaki örnek koleksiyondaki her SqlError birini SqlErrorCollection görüntüler.
using System;
using System.Data;
using System.Data.SqlClient;
using System.Text;
class Program
{
static void Main()
{
string s = GetConnectionString();
ShowSqlException(s);
Console.ReadLine();
}
public static void ShowSqlException(string connectionString)
{
string queryString = "EXECUTE NonExistantStoredProcedure";
StringBuilder errorMessages = new StringBuilder();
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
for (int i = 0; i < ex.Errors.Count; i++)
{
errorMessages.Append("Index #" + i + "\n" +
"Message: " + ex.Errors[i].Message + "\n" +
"Error Number: " + ex.Errors[i].Number + "\n" +
"LineNumber: " + ex.Errors[i].LineNumber + "\n" +
"Source: " + ex.Errors[i].Source + "\n" +
"Procedure: " + ex.Errors[i].Procedure + "\n");
}
Console.WriteLine(errorMessages.ToString());
}
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI";
}
}
Public Sub ShowSqlException(ByVal connectionString As String)
Dim queryString As String = "EXECUTE NonExistantStoredProcedure"
Dim errorMessages As New StringBuilder()
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
Try
command.Connection.Open()
command.ExecuteNonQuery()
Catch ex As SqlException
Dim i As Integer
For i = 0 To ex.Errors.Count - 1
errorMessages.Append("Index #" & i.ToString() & ControlChars.NewLine _
& "Message: " & ex.Errors(i).Message & ControlChars.NewLine _
& "Error Number: " & ex.Errors(i).Number & ControlChars.NewLine _
& "LineNumber: " & ex.Errors(i).LineNumber & ControlChars.NewLine _
& "Source: " & ex.Errors(i).Source & ControlChars.NewLine _
& "Procedure: " & ex.Errors(i).Procedure & ControlChars.NewLine)
Next i
Console.WriteLine(errorMessages.ToString())
End Try
End Using
End Sub
Açıklamalar
Önem derecesi 10 veya daha az olan iletiler bilgilendiricidir ve kullanıcının girdiği bilgilerdeki hatalardan kaynaklanan sorunları gösterir. Önem derecesi düzeyleri 11 ile 16 arasında kullanıcı tarafından oluşturulur ve kullanıcı tarafından düzeltilebilir. 17 ile 25 arasında önem derecesi, yazılım veya donanım hatalarını gösterir. Düzey 17, 18 veya 19 hatası oluştuğunda, belirli bir deyimi yürütemeseniz de çalışmaya devam edebilirsiniz.
Önem SqlConnection düzeyi 19 veya daha az olduğunda açık kalır. Önem düzeyi 20 veya daha yüksek olduğunda, sunucu normalde kapatır SqlConnection. Ancak kullanıcı bağlantıyı yeniden açabilir ve devam edebilir. Her iki durumda da komutunu yürüten yöntemi tarafından bir SqlException oluşturulur.
SQL Server tarafından gönderilen uyarı ve bilgilendirici iletiler hakkında bilgi için SQL Server belgelerinin Sorun Giderme bölümüne bakın.
Bu, özelliğindeki Class ilk SqlError öğesinin özelliği için bir sarmalayıcıdır Errors .