SqlError 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
收集与 SQL Server 返回的警告或错误有关的信息。
public ref class SqlError sealed
	[System.Serializable]
public sealed class SqlError
	public sealed class SqlError
	[<System.Serializable>]
type SqlError = class
	type SqlError = class
	Public NotInheritable Class SqlError
		- 继承
 - 
				SqlError
 
- 属性
 
示例
以下示例显示 SqlError 集合中的每个 SqlErrorCollection 。
using Microsoft.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";
        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();
    }
    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";
    }
}
	注解
此类由 .NET Framework 数据提供程序创建,以便在发生错误时SQL Server。 的 SqlError 实例由 SqlErrorCollection创建和管理,后者又由 SqlException 类创建。
严重级别为 10 或以下的消息为信息性的,并指示问题是由用户输入的信息中的错误导致的。 从 11 到 16 的严重性级别由用户生成,用户可以更正。 严重级别为 17 到 25 的消息指示存在软件或硬件错误。 发生级别 17、18 或 19 错误时,可以继续工作,但可能无法执行特定语句。
当严重级别为 19 或以下时,SqlConnection 将保持打开状态。 当严重度等于或大于 20 时,服务器通常会关闭 SqlConnection。 但是,用户可以重新打开连接并继续操作。 最后两种情况下,执行该命令的方法将生成 SqlException。
有关SQL Server生成的错误的详细信息,请参阅数据库引擎错误的原因和解决方法。 有关严重级别的详细信息,请参阅 数据库引擎错误严重性。
属性
| Class | 
		 获取从 SQL Server 返回的错误的严重程度。  | 
        	
| LineNumber | 
		 从包含错误的 Transact-SQL 批命令或存储过程中获取行号。  | 
        	
| Message | 
		 获取对错误进行描述的文本。  | 
        	
| Number | 
		 获取一个标识错误类型的数字。  | 
        	
| Procedure | 
		 获取生成错误的存储过程或远程过程调用 (RPC) 的名称。  | 
        	
| Server | 
		 获取生成错误的 SQL Server 实例的名称。  | 
        	
| Source | 
		 获取生成错误的提供程序的名称。  | 
        	
| State | 
		 某些错误消息可能在 数据库引擎代码中多处出现。 例如,几种不同情况下都可能引发 1105 错误。 每个引发错误的特定情况都分配唯一的状态代码。  | 
        	
方法
| ToString() | 
		 获取错误信息的完整文本。  |