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() |
获取错误信息的完整文本。 |