SqlCommand Clase

Definición

Representa una instrucción Transact-SQL o un procedimiento almacenado que se va a ejecutar en una base de datos de SQL Server. Esta clase no puede heredarse.

public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
type SqlCommand = class
    inherit DbCommand
    interface ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
Herencia
SqlCommand
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un SqlConnection, un SqlCommandy un SqlDataReader. En el ejemplo se leen los datos y se escribe en la consola. Por último, el ejemplo cierra SqlDataReader y, a continuación, mientras SqlConnection sale de los bloques de Using código.

using System;
using System.Data;
using Microsoft.Data.SqlClient;


namespace SqlCommandCS
{
    class Program
    {
        static void Main()
        {
            string str = "Data Source=(local);Initial Catalog=Northwind;"
                + "Integrated Security=SSPI";
            ReadOrderData(str);

        }

        private static void ReadOrderData(string connectionString)
        {
            string queryString =
                "SELECT OrderID, CustomerID FROM dbo.Orders;";
            using (SqlConnection connection = new SqlConnection(
                       connectionString))
            {
                SqlCommand command = new SqlCommand(
                    queryString, connection);
                connection.Open();
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Console.WriteLine(String.Format("{0}, {1}",
                            reader[0], reader[1]));
                    }
                }
            }
        }

En el ejemplo siguiente se muestra cómo crear y ejecutar diferentes tipos de objetos SqlCommand.

En primer lugar, debe crear la base de datos de ejemplo ejecutando el siguiente script:

USE [master]
GO

CREATE DATABASE [MySchool]
GO

USE [MySchool]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[CourseExtInfo] @CourseId int
as
select c.CourseID,c.Title,c.Credits,d.Name as DepartmentName
from Course as c left outer join Department as d on c.DepartmentID=d.DepartmentID
where c.CourseID=@CourseId

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[DepartmentInfo] @DepartmentId int,@CourseCount int output
as
select @CourseCount=Count(c.CourseID)
from course as c
where c.DepartmentID=@DepartmentId

select d.DepartmentID,d.Name,d.Budget,d.StartDate,d.Administrator
from Department as d
where d.DepartmentID=@DepartmentId

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create PROCEDURE [dbo].[GetDepartmentsOfSpecifiedYear]
@Year int,@BudgetSum money output
AS
BEGIN
SELECT @BudgetSum=SUM([Budget])
FROM [MySchool].[dbo].[Department]
Where YEAR([StartDate])=@Year

SELECT [DepartmentID]
,[Name]
,[Budget]
,[StartDate]
,[Administrator]
FROM [MySchool].[dbo].[Department]
Where YEAR([StartDate])=@Year

END
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Course]([CourseID] [nvarchar](10) NOT NULL,
[Year] [smallint] NOT NULL,
[Title] [nvarchar](100) NOT NULL,
[Credits] [int] NOT NULL,
[DepartmentID] [int] NOT NULL,
CONSTRAINT [PK_Course] PRIMARY KEY CLUSTERED
(
[CourseID] ASC,
[Year] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Department]([DepartmentID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Budget] [money] NOT NULL,
[StartDate] [datetime] NOT NULL,
[Administrator] [int] NULL,
CONSTRAINT [PK_Department] PRIMARY KEY CLUSTERED
(
[DepartmentID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Person]([PersonID] [int] IDENTITY(1,1) NOT NULL,
[LastName] [nvarchar](50) NOT NULL,
[FirstName] [nvarchar](50) NOT NULL,
[HireDate] [datetime] NULL,
[EnrollmentDate] [datetime] NULL,
CONSTRAINT [PK_School.Student] PRIMARY KEY CLUSTERED
(
[PersonID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[StudentGrade]([EnrollmentID] [int] IDENTITY(1,1) NOT NULL,
[CourseID] [nvarchar](10) NOT NULL,
[StudentID] [int] NOT NULL,
[Grade] [decimal](3, 2) NOT NULL,
CONSTRAINT [PK_StudentGrade] PRIMARY KEY CLUSTERED
(
[EnrollmentID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create view [dbo].[EnglishCourse]
as
select c.CourseID,c.Title,c.Credits,c.DepartmentID
from Course as c join Department as d on c.DepartmentID=d.DepartmentID
where d.Name=N'English'

GO
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C1045', 2012, N'Calculus', 4, 7)
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C1061', 2012, N'Physics', 4, 1)
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C2021', 2012, N'Composition', 3, 2)
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C2042', 2012, N'Literature', 4, 2)
SET IDENTITY_INSERT [dbo].[Department] ON

INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (1, N'Engineering', 350000.0000, CAST(0x0000999C00000000 AS DateTime), 2)
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (2, N'English', 120000.0000, CAST(0x0000999C00000000 AS DateTime), 6)
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (4, N'Economics', 200000.0000, CAST(0x0000999C00000000 AS DateTime), 4)
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (7, N'Mathematics', 250024.0000, CAST(0x0000999C00000000 AS DateTime), 3)
SET IDENTITY_INSERT [dbo].[Department] OFF
SET IDENTITY_INSERT [dbo].[Person] ON

INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (1, N'Hu', N'Nan', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (2, N'Norman', N'Laura', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (3, N'Olivotto', N'Nino', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (4, N'Anand', N'Arturo', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (5, N'Jai', N'Damien', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (6, N'Holt', N'Roger', CAST(0x000097F100000000 AS DateTime), NULL)
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (7, N'Martin', N'Randall', CAST(0x00008B1A00000000 AS DateTime), NULL)
SET IDENTITY_INSERT [dbo].[Person] OFF
SET IDENTITY_INSERT [dbo].[StudentGrade] ON

INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (1, N'C1045', 1, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (2, N'C1045', 2, CAST(3.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (3, N'C1045', 3, CAST(2.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (4, N'C1045', 4, CAST(4.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (5, N'C1045', 5, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (6, N'C1061', 1, CAST(4.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (7, N'C1061', 3, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (8, N'C1061', 4, CAST(2.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (9, N'C1061', 5, CAST(1.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (10, N'C2021', 1, CAST(2.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (11, N'C2021', 2, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (12, N'C2021', 4, CAST(3.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (13, N'C2021', 5, CAST(3.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (14, N'C2042', 1, CAST(2.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (15, N'C2042', 2, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (16, N'C2042', 3, CAST(4.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (17, N'C2042', 5, CAST(3.00 AS Decimal(3, 2)))
SET IDENTITY_INSERT [dbo].[StudentGrade] OFF
ALTER TABLE [dbo].[Course]  WITH CHECK ADD  CONSTRAINT [FK_Course_Department] FOREIGN KEY([DepartmentID])
REFERENCES [dbo].[Department] ([DepartmentID])
GO
ALTER TABLE [dbo].[Course] CHECK CONSTRAINT [FK_Course_Department]
GO
ALTER TABLE [dbo].[StudentGrade]  WITH CHECK ADD  CONSTRAINT [FK_StudentGrade_Student] FOREIGN KEY([StudentID])
REFERENCES [dbo].[Person] ([PersonID])
GO
ALTER TABLE [dbo].[StudentGrade] CHECK CONSTRAINT [FK_StudentGrade_Student]
GO

A continuación, compile y ejecute lo siguiente:

using System;
using System.Data;
using Microsoft.Data.SqlClient;
using System.Threading.Tasks;

class Program
{

    static class SqlHelper
    {
        // Set the connection, command, and then execute the command with non query.
        public static Int32 ExecuteNonQuery(String connectionString, String commandText,
        CommandType commandType, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand(commandText, conn))
                {
                    // There're three command types: StoredProcedure, Text, TableDirect. The TableDirect
                    // type is only for OLE DB.
                    cmd.CommandType = commandType;
                    cmd.Parameters.AddRange(parameters);

                    conn.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }

        // Set the connection, command, and then execute the command and only return one value.
        public static Object ExecuteScalar(String connectionString, String commandText,
        CommandType commandType, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand(commandText, conn))
                {
                    cmd.CommandType = commandType;
                    cmd.Parameters.AddRange(parameters);

                    conn.Open();
                    return cmd.ExecuteScalar();
                }
            }
        }

        // Set the connection, command, and then execute the command with query and return the reader.
        public static SqlDataReader ExecuteReader(String connectionString, String commandText,
        CommandType commandType, params SqlParameter[] parameters)
        {
            SqlConnection conn = new SqlConnection(connectionString);

            using (SqlCommand cmd = new SqlCommand(commandText, conn))
            {
                cmd.CommandType = commandType;
                cmd.Parameters.AddRange(parameters);

                conn.Open();
                // When using CommandBehavior.CloseConnection, the connection will be closed when the
                // IDataReader is closed.
                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

                return reader;
            }
        }
    }

    static void Main(string[] args)
    {
        String connectionString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True;";

        CountCourses(connectionString, 2012);
        Console.WriteLine();

        Console.WriteLine("Following result is the departments that started from 2007:");
        GetDepartments(connectionString, 2007);
        Console.WriteLine();

        Console.WriteLine("Add the credits when the credits of course is lower than 4.");
        AddCredits(connectionString, 4);
        Console.WriteLine();

        Console.WriteLine("Please press any key to exit...");
        Console.ReadKey();
    }

    static void CountCourses(String connectionString, Int32 year)
    {
        String commandText = "Select Count([CourseID]) FROM [MySchool].[dbo].[Course] Where Year=@Year";
        SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int);
        parameterYear.Value = year;

        Object oValue = SqlHelper.ExecuteScalar(connectionString, commandText, CommandType.Text, parameterYear);
        Int32 count;
        if (Int32.TryParse(oValue.ToString(), out count))
            Console.WriteLine("There {0} {1} course{2} in {3}.", count > 1 ? "are" : "is", count, count > 1 ? "s" : null, year);
    }

    // Display the Departments that start from the specified year.
    static void GetDepartments(String connectionString, Int32 year)
    {
        String commandText = "dbo.GetDepartmentsOfSpecifiedYear";

        // Specify the year of StartDate
        SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int);
        parameterYear.Value = year;

        // When the direction of parameter is set as Output, you can get the value after
        // executing the command.
        SqlParameter parameterBudget = new SqlParameter("@BudgetSum", SqlDbType.Money);
        parameterBudget.Direction = ParameterDirection.Output;

        using (SqlDataReader reader = SqlHelper.ExecuteReader(connectionString, commandText,
        CommandType.StoredProcedure, parameterYear, parameterBudget))
        {
            Console.WriteLine("{0,-20}{1,-20}{2,-20}{3,-20}", "Name", "Budget", "StartDate",
            "Administrator");
            while (reader.Read())
            {
                Console.WriteLine("{0,-20}{1,-20:C}{2,-20:d}{3,-20}", reader["Name"],
                reader["Budget"], reader["StartDate"], reader["Administrator"]);
            }
        }
        Console.WriteLine("{0,-20}{1,-20:C}", "Sum:", parameterBudget.Value);
    }

    // If credits of course is lower than the certain value, the method will add the credits.
    static void AddCredits(String connectionString, Int32 creditsLow)
    {
        String commandText = "Update [MySchool].[dbo].[Course] Set Credits=Credits+1 Where Credits<@Credits";

        SqlParameter parameterCredits = new SqlParameter("@Credits", creditsLow);

        Int32 rows = SqlHelper.ExecuteNonQuery(connectionString, commandText, CommandType.Text, parameterCredits);

        Console.WriteLine("{0} row{1} {2} updated.", rows, rows > 1 ? "s" : null, rows > 1 ? "are" : "is");
    }
}

Comentarios

Cuando se crea una instancia de , las propiedades de SqlCommand lectura y escritura se establecen en sus valores iniciales. Para obtener una lista de estos valores, consulte el SqlCommand constructor .

SqlCommand incluye los métodos siguientes para ejecutar comandos en una base de datos de SQL Server:

Elemento Description
BeginExecuteNonQuery Inicia la ejecución asincrónica de la instrucción Transact-SQL o del procedimiento almacenado descrito por este SqlCommand, generalmente ejecutando comandos como instrucciones INSERT, DELETE, UPDATE y SET. Cada llamada a BeginExecuteNonQuery debe emparejarse con una llamada a la EndExecuteNonQuery que finaliza la operación, normalmente en un subproceso independiente.
BeginExecuteReader Inicia la ejecución asincrónica de la instrucción Transact-SQL o el procedimiento almacenado que describe y SqlCommand recupera uno o varios conjuntos de resultados del servidor. Cada llamada a BeginExecuteReader debe emparejarse con una llamada a la EndExecuteReader que finaliza la operación, normalmente en un subproceso independiente.
BeginExecuteXmlReader Inicia la ejecución asincrónica de la instrucción Transact-SQL o del procedimiento almacenado descrito por este SqlCommand. Cada llamada a BeginExecuteXmlReader debe emparejarse con una llamada a EndExecuteXmlReader, que finaliza la operación, normalmente en un subproceso independiente y devuelve un XmlReader objeto .
ExecuteReader Ejecuta comandos que devuelven filas. Para aumentar el rendimiento, ExecuteReader invoca comandos mediante el procedimiento almacenado del sistema Transact-SQL sp_executesql . Por lo tanto, ExecuteReader es posible que no tenga el efecto que desee si se usa para ejecutar comandos como Transact-SQL instrucciones SET.
ExecuteNonQuery Ejecuta comandos como Transact-SQL instrucciones INSERT, DELETE, UPDATE y SET.
ExecuteScalar Recupera un valor único (por ejemplo, un valor agregado) de una base de datos.
ExecuteXmlReader CommandText Envía al Connection objeto y crea un XmlReader objeto .

Puede restablecer la CommandText propiedad y reutilizar el SqlCommand objeto . Sin embargo, debe cerrar antes SqlDataReader de poder ejecutar un comando nuevo o anterior.

Si el método que ejecuta un SqlExceptionSqlCommandSqlConnection , permanece abierto cuando el nivel de gravedad es 19 o menos. Cuando el nivel de gravedad es 20 o superior, el servidor normalmente cierra .SqlConnection Sin embargo, el usuario puede volver a abrir la conexión y continuar.

Note

Sin nombre, también denominado ordinal, los parámetros no son compatibles con el proveedor de datos de .NET Framework para SQL Server.

Constructores

Nombre Description
SqlCommand()

Inicializa una nueva instancia de la clase SqlCommand.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Inicializa una nueva instancia de la clase con el texto de comando, la conexión, la transacción y la SqlCommand configuración de cifrado especificados.

SqlCommand(String, SqlConnection, SqlTransaction)

Inicializa una nueva instancia de la SqlCommand clase con el texto de la consulta, un SqlConnectiony .SqlTransaction

SqlCommand(String, SqlConnection)

Inicializa una nueva instancia de la SqlCommand clase con el texto de la consulta y .SqlConnection

SqlCommand(String)

Inicializa una nueva instancia de la SqlCommand clase con el texto de la consulta.

Propiedades

Nombre Description
ColumnEncryptionSetting

Obtiene la configuración de cifrado de columna para este comando.

CommandText

Obtiene o establece la instrucción Transact-SQL, el nombre de tabla o el procedimiento almacenado que se ejecutarán en el origen de datos.

CommandTimeout

Obtiene o establece el tiempo de espera (en segundos) antes de terminar el intento de ejecutar un comando y generar un error. El valor predeterminado es 30 segundos.

CommandType

Obtiene o establece un valor que indica cómo se va a interpretar la CommandText propiedad.

Connection

Obtiene o establece el SqlConnection objeto utilizado por esta instancia de .SqlCommand

DesignTimeVisible

Obtiene o establece un valor que indica si el objeto de comando debe estar visible en un control diseñador de Windows Form.

EnableOptimizedParameterBinding

Obtiene o establece un valor que indica si el objeto de comando debe optimizar el rendimiento de los parámetros deshabilitando las instrucciones Output y InputOutput al enviar el comando al SQL Server.
Esta opción solo se usa cuando CommandTypeText se omite ; de lo contrario, se omite.

Notification

Obtiene o establece un valor que especifica el SqlNotificationRequest objeto enlazado a este comando.

NotificationAutoEnlist

Obtiene o establece un valor que indica si la aplicación debe recibir automáticamente notificaciones de consulta de un objeto común SqlDependency .

Parameters

Obtiene SqlParameterCollection.

RetryLogicProvider

Obtiene o establece un valor que especifica el SqlRetryLogicBaseProvider objeto enlazado a este comando.

Transaction

Obtiene o establece el objeto en el SqlTransaction que se ejecuta .SqlCommand

UpdatedRowSource

Obtiene o establece cómo se aplican los resultados del comando al DataRow cuando se usa en el Update método de DbDataAdapter.

Métodos

Nombre Description
BeginExecuteNonQuery()

Inicia la ejecución asincrónica de la instrucción Transact-SQL o del procedimiento almacenado descrito por este SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Inicia la ejecución asincrónica de la instrucción Transact-SQL o procedimiento almacenado descrito por este SqlCommand, dado un procedimiento de devolución de llamada e información de estado.

BeginExecuteReader()

Inicia la ejecución asincrónica de la instrucción Transact-SQL o procedimiento almacenado descrito por este SqlCommandy recupera uno o varios conjuntos de resultados del servidor.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Inicia la ejecución asincrónica de la instrucción Transact-SQL o del procedimiento almacenado descrito por este SqlCommand , mediante una de las CommandBehavior valores y recuperación de uno o varios conjuntos de resultados del servidor, dado un procedimiento de devolución de llamada e información de estado.

BeginExecuteReader(AsyncCallback, Object)

Inicia la ejecución asincrónica de la instrucción Transact-SQL o el procedimiento almacenado descrito por este SqlCommand objeto y devuelve resultados como un XmlReader objeto mediante un procedimiento de devolución de llamada.

BeginExecuteReader(CommandBehavior)

Inicia la ejecución asincrónica de la instrucción Transact-SQL o procedimiento almacenado que se describe mediante SqlCommand uno de los CommandBehavior valores.

BeginExecuteXmlReader()

Inicia la ejecución asincrónica de la instrucción Transact-SQL o el procedimiento almacenado descrito por este SqlCommand objeto y devuelve resultados como un XmlReader objeto .

BeginExecuteXmlReader(AsyncCallback, Object)

Inicia la ejecución asincrónica de la instrucción Transact-SQL o el procedimiento almacenado descrito por este SqlCommand objeto y devuelve resultados como un XmlReader objeto mediante un procedimiento de devolución de llamada.

Cancel()

Intenta cancelar la ejecución de .SqlCommand

Clone()

Crea un nuevo SqlCommand objeto que es una copia de la instancia actual.

CreateParameter()

Crea una nueva instancia de un SqlParameter objeto .

EndExecuteNonQuery(IAsyncResult)

Finaliza la ejecución asincrónica de una instrucción Transact-SQL.

EndExecuteReader(IAsyncResult)

Finaliza la ejecución asincrónica de una instrucción Transact-SQL, devolviendo el .

EndExecuteXmlReader(IAsyncResult)

Finaliza la ejecución asincrónica de una instrucción Transact-SQL, devolviendo los datos solicitados como XML.

ExecuteNonQuery()

Ejecuta una instrucción Transact-SQL en la conexión y devuelve el número de filas afectadas.

ExecuteNonQueryAsync(CancellationToken)

Una versión asincrónica de ExecuteNonQuery(), que ejecuta una instrucción Transact-SQL en la conexión y devuelve el número de filas afectadas. El token de cancelación se puede usar para solicitar que la operación se abandone antes de que transcurre el tiempo de espera del comando. Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteReader()

CommandText Envía a Connection y compila un SqlDataReaderobjeto .

ExecuteReader(CommandBehavior)

CommandText Envía a Connectiony compila un SqlDataReader objeto mediante uno de los CommandBehavior valores .

ExecuteReaderAsync()

Una versión asincrónica de ExecuteReader(), que envía CommandText a Connection y compila un SqlDataReaderobjeto . Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteReaderAsync(CancellationToken)

Una versión asincrónica de ExecuteReader(), que envía CommandText a Connection y compila un SqlDataReaderobjeto . El token de cancelación se puede usar para solicitar que la operación se abandone antes de que transcurre el tiempo de espera del comando. Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Una versión asincrónica de ExecuteReader(CommandBehavior), que envía CommandText a Connectiony compila un SqlDataReader token de cancelación se puede usar para solicitar que la operación se abandone antes de que transcurre el tiempo de espera del comando. Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteReaderAsync(CommandBehavior)

Una versión asincrónica de ExecuteReader(CommandBehavior), que envía CommandText a Connectiony compila un SqlDataReaderobjeto . Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteScalar()

Ejecuta la consulta y devuelve la primera columna de la primera fila del conjunto de resultados devuelto por la consulta. Se omiten columnas o filas adicionales.

ExecuteScalarAsync(CancellationToken)

Una versión asincrónica de ExecuteScalar(), que ejecuta la consulta de forma asincrónica y devuelve la primera columna de la primera fila del conjunto de resultados devuelto por la consulta. Se omiten columnas o filas adicionales. El token de cancelación se puede usar para solicitar que la operación se abandone antes de que transcurre el tiempo de espera del comando. Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteXmlReader()

CommandText Envía al Connection objeto y crea un XmlReader objeto .

ExecuteXmlReaderAsync()

Una versión asincrónica de ExecuteXmlReader(), que envía CommandText al Connection objeto y compila un XmlReader objeto . Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteXmlReaderAsync(CancellationToken)

Una versión asincrónica de ExecuteXmlReader(), que envía CommandText al Connection objeto y compila un XmlReader objeto . El token de cancelación se puede usar para solicitar que la operación se abandone antes de que transcurre el tiempo de espera del comando. Las excepciones se notificarán a través del objeto Task devuelto.

Prepare()

Crea una versión preparada del comando en una instancia de SQL Server.

RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)

Registra los proveedores de almacén de claves de cifrado en la SqlCommand instancia de . Si se ha llamado a esta función, se omitirán los proveedores registrados mediante los RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) métodos o RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) . Se puede llamar a esta función más de una vez. Esto realiza una copia superficial del diccionario para que la aplicación no pueda modificar la lista de proveedores personalizados una vez que se haya establecido.

ResetCommandTimeout()

Restablece la CommandTimeout propiedad a su valor predeterminado.

Eventos

Nombre Description
StatementCompleted

Se produce cuando se completa la ejecución de una instrucción Transact-SQL.

Implementaciones de interfaz explícitas

Nombre Description
ICloneable.Clone()

Representa una instrucción Transact-SQL o un procedimiento almacenado que se va a ejecutar en una base de datos de SQL Server. Esta clase no puede heredarse.

Se aplica a