Поделиться через


SqlException.Number Property

Definition

Gets a number that identifies the type of error.

public:
 property int Number { int get(); };
public int Number { get; }
member this.Number : int
Public ReadOnly Property Number As Integer

Property Value

The number that identifies the type of error.

Examples

The following example displays each SqlError within the SqlErrorCollection collection.

using System;
using System.Data;
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 NonExistentStoredProcedure";
        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";
    }
}

Remarks

This is a wrapper for the Number property of the first SqlError in the Errors property.

If Errors is null, the defaulthttps://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/default-values value for int is returned.

For more information on SQL Server engine errors, see Database Engine Events and Errors.

Applies to

See also