SqlException.Class Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan tingkat keparahan kesalahan yang dikembalikan dari Penyedia Data .NET Framework untuk SQL Server.
public:
property System::Byte Class { System::Byte get(); };
public byte Class { get; }
member this.Class : byte
Public ReadOnly Property Class As Byte
Nilai Properti
Nilai dari 1 hingga 25 yang menunjukkan tingkat keparahan kesalahan.
Contoh
Contoh berikut menampilkan masing-masing SqlError dalam SqlErrorCollection koleksi.
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
Keterangan
Pesan yang memiliki tingkat keparahan 10 atau kurang adalah informasi dan menunjukkan masalah yang disebabkan oleh kesalahan dalam informasi yang dimasukkan pengguna. Tingkat keparahan dari 11 hingga 16 dihasilkan oleh pengguna, dan dapat dikoreksi oleh pengguna. Tingkat keparahan dari 17 hingga 25 menunjukkan kesalahan perangkat lunak atau perangkat keras. Ketika kesalahan tingkat 17, 18, atau 19 terjadi, Anda dapat terus bekerja, meskipun Anda mungkin tidak dapat menjalankan pernyataan tertentu.
Tetap SqlConnection terbuka ketika tingkat keparahan adalah 19 atau kurang. Ketika tingkat keparahan adalah 20 atau lebih besar, server biasanya menutup SqlConnection. Namun, pengguna dapat membuka kembali koneksi dan melanjutkan. Dalam kedua kasus, SqlException dihasilkan oleh metode yang menjalankan perintah.
Untuk informasi tentang pesan peringatan dan informasi yang dikirim oleh SQL Server, lihat bagian Pemecahan masalah dari dokumentasi SQL Server.
Ini adalah pembungkus untuk Class properti yang pertama SqlError di Errors properti .