Share via


SqlErrorCollection 类

收集 SQL Server .NET Framework 数据提供程序生成的所有错误。无法继承此类。

**命名空间:**System.Data.SqlClient
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
<SerializableAttribute> _
Public NotInheritable Class SqlErrorCollection
    Implements ICollection, IEnumerable
用法
Dim instance As SqlErrorCollection
[SerializableAttribute] 
public sealed class SqlErrorCollection : ICollection, IEnumerable
[SerializableAttribute] 
public ref class SqlErrorCollection sealed : ICollection, IEnumerable
/** @attribute SerializableAttribute() */ 
public final class SqlErrorCollection implements ICollection, IEnumerable
SerializableAttribute 
public final class SqlErrorCollection implements ICollection, IEnumerable

备注

该类是由 SqlException 创建的,用以收集 SqlError 类的实例。SqlErrorCollection 始终包含至少一个 SqlError 类实例。

示例

下面的示例显示 SqlErrorCollection 集合中的每个 SqlError

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
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();
}

继承层次结构

System.Object
  System.Data.SqlClient.SqlErrorCollection

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

SqlErrorCollection 成员
System.Data.SqlClient 命名空间
SqlError 类
SqlException