SqlCommand SqlCommand SqlCommand SqlCommand Class

Definición

Representa un procedimiento almacenado o una instrucción de Transact-SQL que se ejecuta en una base de datos de SQL Server.Represents a Transact-SQL statement or stored procedure to execute against a SQL Server database. Esta clase no puede heredarse.This class cannot be inherited.

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

Ejemplos

En el ejemplo siguiente se SqlConnectioncrea un SqlCommand, un y SqlDataReaderun.The following example creates a SqlConnection, a SqlCommand, and a SqlDataReader. En el ejemplo se leen los datos y se escriben en la consola.The example reads through the data, writing it to the console. Por último, SqlConnection en el ejemplo se SqlDataReader cierra y, a continuación, cuando sale Using de los bloques de código.Finally, the example closes the SqlDataReader and then the SqlConnection as it exits the Using code blocks.

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]));
            }
        }
    }
}
Public Sub ReadOrderData(ByVal connectionString As String)
    Dim queryString As String = _
        "SELECT OrderID, CustomerID FROM dbo.Orders;"
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()
        Dim reader As SqlDataReader = command.ExecuteReader()
        Try
            While reader.Read()
                Console.WriteLine(String.Format("{0}, {1}", _
                    reader(0), reader(1)))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

En el ejemplo siguiente se muestra cómo crear y ejecutar diferentes tipos de objetos SqlCommand.The following sample shows how to create and execute different types of SqlCommand objects.

En primer lugar, debe crear la base de datos de ejemplo ejecutando el siguiente script:First you must create the sample database, by executing the following 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:Next, compile and execute the following:

using System;  
using System.Data;  
using System.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;Asynchronous Processing=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 SqlCommand instancia de, las propiedades de lectura y escritura se establecen en sus valores iniciales.When an instance of SqlCommand is created, the read/write properties are set to their initial values. Para obtener una lista de estos valores, vea SqlCommand el constructor.For a list of these values, see the SqlCommand constructor.

SqlCommandincluye los siguientes métodos para ejecutar comandos en una base de datos de SQL Server:SqlCommand features the following methods for executing commands at a SQL Server database:

ElementoItem DescripciónDescription
BeginExecuteNonQuery Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand, por lo general, ejecuta comandos como INSERT, Delete, Update y set.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand, generally executing commands such as INSERT, DELETE, UPDATE, and SET statements. Cada llamada a BeginExecuteNonQuery se debe emparejar con una llamada a EndExecuteNonQuery que finaliza la operación, normalmente en un subproceso independiente.Each call to BeginExecuteNonQuery must be paired with a call to EndExecuteNonQuery which finishes the operation, typically on a separate thread.
BeginExecuteReader Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y recupera uno o más conjuntos de resultados del servidor.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand and retrieves one or more results sets from the server. Cada llamada a BeginExecuteReader se debe emparejar con una llamada a EndExecuteReader que finaliza la operación, normalmente en un subproceso independiente.Each call to BeginExecuteReader must be paired with a call to EndExecuteReader which finishes the operation, typically on a separate thread.
BeginExecuteXmlReader Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand. Cada llamada a BeginExecuteXmlReader se debe emparejar con una llamada a EndExecuteXmlReader, que finaliza la operación, normalmente en un subproceso independiente, y devuelve XmlReader un objeto.Each call to BeginExecuteXmlReader must be paired with a call to EndExecuteXmlReader, which finishes the operation, typically on a separate thread, and returns an XmlReader object.
ExecuteReader Ejecuta comandos que devuelven filas.Executes commands that return rows. Para aumentar el rendimiento ExecuteReader , invoca comandos mediante el procedimiento almacenado del sp_executesql sistema Transact-SQL.For increased performance, ExecuteReader invokes commands using the Transact-SQL sp_executesql system stored procedure. Por lo ExecuteReader tanto, es posible que no tenga el efecto deseado si se usa para ejecutar comandos como instrucciones set de Transact-SQL.Therefore, ExecuteReader might not have the effect that you want if used to execute commands such as Transact-SQL SET statements.
ExecuteNonQuery Ejecuta comandos como las instrucciones INSERT, DELETE, UPDATE y SET de Transact-SQL.Executes commands such as Transact-SQL INSERT, DELETE, UPDATE, and SET statements.
ExecuteScalar Recupera un valor único (por ejemplo, un valor agregado) de una base de datos.Retrieves a single value (for example, an aggregate value) from a database.
ExecuteXmlReader Envía CommandText a Connection y crea un objeto XmlReader.Sends the CommandText to the Connection and builds an XmlReader object.

Puede restablecer la CommandText propiedad y reutilizar el SqlCommand objeto.You can reset the CommandText property and reuse the SqlCommand object. Sin embargo, debe cerrar el SqlDataReader para poder ejecutar un comando nuevo o anterior.However, you must close the SqlDataReader before you can execute a new or previous command.

Si un SqlException se genera mediante el método que ejecuta SqlCommand, SqlConnection permanece abierto cuando el nivel de gravedad es 19 o menos.If a SqlException is generated by the method executing a SqlCommand, the SqlConnection remains open when the severity level is 19 or less. Cuando el nivel de gravedad es 20 o superior, el servidor cierra normalmente el SqlConnection.When the severity level is 20 or greater, the server ordinarily closes the SqlConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar.However, the user can reopen the connection and continue.

Nota

El proveedor de datos de .NET Framework para SQL Server no admite los parámetros con nombre, también denominados ordinales.Nameless, also called ordinal, parameters are not supported by the .NET Framework Data Provider for SQL Server.

Constructores

SqlCommand() SqlCommand() SqlCommand() SqlCommand()

Inicializa una nueva instancia de la clase SqlCommand.Initializes a new instance of the SqlCommand class.

SqlCommand(String) SqlCommand(String) SqlCommand(String) SqlCommand(String)

Inicializa una nueva instancia de la clase SqlCommand con el texto de la consulta.Initializes a new instance of the SqlCommand class with the text of the query.

SqlCommand(String, SqlConnection) SqlCommand(String, SqlConnection) SqlCommand(String, SqlConnection) SqlCommand(String, SqlConnection)

Inicializa una nueva instancia de la clase SqlCommand con el texto de la consulta y una conexión SqlConnection.Initializes a new instance of the SqlCommand class with the text of the query and a SqlConnection.

SqlCommand(String, SqlConnection, SqlTransaction) SqlCommand(String, SqlConnection, SqlTransaction) SqlCommand(String, SqlConnection, SqlTransaction) SqlCommand(String, SqlConnection, SqlTransaction)

Inicializa una nueva instancia de la clase SqlCommand con el texto de la consulta, un objeto SqlConnection y el objeto SqlTransaction.Initializes a new instance of the SqlCommand class with the text of the query, a SqlConnection, and the SqlTransaction.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Inicializa una nueva instancia de la clase SqlCommand con texto de comando especificado, conexión, transacción y configuración de cifrado.Initializes a new instance of the SqlCommand class with specified command text, connection, transaction, and encryption setting.

Propiedades

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
ColumnEncryptionSetting ColumnEncryptionSetting ColumnEncryptionSetting ColumnEncryptionSetting

Obtiene o establece la configuración del cifrado de columnas para este comando.Gets or sets the column encryption setting for this command.

CommandText CommandText CommandText CommandText

Obtiene o establece la instrucción de Transact-SQL, el nombre de tabla o el procedimiento almacenado que se ejecutan en el origen de datos.Gets or sets the Transact-SQL statement, table name or stored procedure to execute at the data source.

CommandTimeout CommandTimeout CommandTimeout CommandTimeout

Obtiene o establece el tiempo de espera antes de terminar el intento de ejecutar un comando y generar un error.Gets or sets the wait time before terminating the attempt to execute a command and generating an error.

CommandType CommandType CommandType CommandType

Obtiene o establece un valor que indica cómo se interpreta la propiedad CommandText.Gets or sets a value indicating how the CommandText property is to be interpreted.

Connection Connection Connection Connection

Obtiene o establece la interfaz SqlConnection que usa esta instancia de SqlCommand.Gets or sets the SqlConnection used by this instance of the SqlCommand.

Container Container Container Container

Obtiene IContainer que contiene Component.Gets the IContainer that contains the Component.

(Inherited from Component)
DesignMode DesignMode DesignMode DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
DesignTimeVisible DesignTimeVisible DesignTimeVisible DesignTimeVisible

Obtiene o establece un valor que indica si el objeto de comando debe estar visible en un control del Diseñador de Windows Forms.Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control.

Events Events Events Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Notification Notification Notification Notification

Obtiene o establece un valor que especifica el objeto SqlNotificationRequest enlazado a este comando.Gets or sets a value that specifies the SqlNotificationRequest object bound to this command.

NotificationAutoEnlist NotificationAutoEnlist NotificationAutoEnlist NotificationAutoEnlist

Obtiene o establece un valor que indica si la aplicación debe recibir automáticamente notificaciones de consulta de un objeto SqlDependency común.Gets or sets a value indicating whether the application should automatically receive query notifications from a common SqlDependency object.

Parameters Parameters Parameters Parameters

Obtiene la estructura SqlParameterCollection.Gets the SqlParameterCollection.

Site Site Site Site

Obtiene o establece el ISite de Component.Gets or sets the ISite of the Component.

(Inherited from Component)
Transaction Transaction Transaction Transaction

Obtiene o establece la transacción SqlTransaction en la que se ejecuta SqlCommand.Gets or sets the SqlTransaction within which the SqlCommand executes.

UpdatedRowSource UpdatedRowSource UpdatedRowSource UpdatedRowSource

Obtiene o establece la manera en que se aplican los resultados del comando a DataRow cuando lo utiliza el método Update de DbDataAdapter.Gets or sets how command results are applied to the DataRow when used by the Update method of the DbDataAdapter.

Métodos

BeginExecuteNonQuery() BeginExecuteNonQuery() BeginExecuteNonQuery() BeginExecuteNonQuery()

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object) BeginExecuteNonQuery(AsyncCallback, Object) BeginExecuteNonQuery(AsyncCallback, Object) BeginExecuteNonQuery(AsyncCallback, Object)

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand, dados un procedimiento de devolución de llamada e información de estado.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand, given a callback procedure and state information.

BeginExecuteReader() BeginExecuteReader() BeginExecuteReader() BeginExecuteReader()

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y recupera uno o varios conjuntos de resultados del servidor.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand, and retrieves one or more result sets from the server.

BeginExecuteReader(AsyncCallback, Object) BeginExecuteReader(AsyncCallback, Object) BeginExecuteReader(AsyncCallback, Object) BeginExecuteReader(AsyncCallback, Object)

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y recupera uno o varios conjuntos de resultados del servidor, dados un procedimiento de devolución de llamada e información de estado.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand and retrieves one or more result sets from the server, given a callback procedure and state information.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior) BeginExecuteReader(AsyncCallback, Object, CommandBehavior) BeginExecuteReader(AsyncCallback, Object, CommandBehavior) BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand, utilizando uno de los valores de CommandBehavior y recuperando uno o varios conjuntos de resultados del servidor, a partir del procedimiento de devolución de llamada e información de estado dados.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand, using one of the CommandBehavior values, and retrieving one or more result sets from the server, given a callback procedure and state information.

BeginExecuteReader(CommandBehavior) BeginExecuteReader(CommandBehavior) BeginExecuteReader(CommandBehavior) BeginExecuteReader(CommandBehavior)

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand utilizando uno de los valores de CommandBehavior.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand using one of the CommandBehavior values.

BeginExecuteXmlReader() BeginExecuteXmlReader() BeginExecuteXmlReader() BeginExecuteXmlReader()

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y devuelve los resultados como un objeto XmlReader.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand and returns results as an XmlReader object.

BeginExecuteXmlReader(AsyncCallback, Object) BeginExecuteXmlReader(AsyncCallback, Object) BeginExecuteXmlReader(AsyncCallback, Object) BeginExecuteXmlReader(AsyncCallback, Object)

Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y devuelve los resultados como un objeto XmlReader a través de un procedimiento de devolución de llamada.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand and returns results as an XmlReader object, using a callback procedure.

Cancel() Cancel() Cancel() Cancel()

Intenta cancelar la ejecución de un SqlCommand.Tries to cancel the execution of a SqlCommand.

Clone() Clone() Clone() Clone()

Crea un nuevo objeto SqlCommand que es una copia de la instancia actual.Creates a new SqlCommand object that is a copy of the current instance.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateParameter() CreateParameter() CreateParameter() CreateParameter()

Crea una nueva instancia de un objeto SqlParameter.Creates a new instance of a SqlParameter object.

Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos que usa Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
EndExecuteNonQuery(IAsyncResult) EndExecuteNonQuery(IAsyncResult) EndExecuteNonQuery(IAsyncResult) EndExecuteNonQuery(IAsyncResult)

Finaliza la ejecución asincrónica de una instrucción de Transact-SQL.Finishes asynchronous execution of a Transact-SQL statement.

EndExecuteReader(IAsyncResult) EndExecuteReader(IAsyncResult) EndExecuteReader(IAsyncResult) EndExecuteReader(IAsyncResult)

Finaliza la ejecución asincrónica de una instrucción de Transact-SQL y devuelve el objeto SqlDataReader solicitado.Finishes asynchronous execution of a Transact-SQL statement, returning the requested SqlDataReader.

EndExecuteXmlReader(IAsyncResult) EndExecuteXmlReader(IAsyncResult) EndExecuteXmlReader(IAsyncResult) EndExecuteXmlReader(IAsyncResult)

Finaliza la ejecución asincrónica de una instrucción de Transact-SQL y devuelve los datos solicitados como XML.Finishes asynchronous execution of a Transact-SQL statement, returning the requested data as XML.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExecuteNonQuery() ExecuteNonQuery() ExecuteNonQuery() ExecuteNonQuery()

Ejecuta una instrucción de Transact-SQL en la conexión y devuelve el número de filas afectadas.Executes a Transact-SQL statement against the connection and returns the number of rows affected.

ExecuteNonQueryAsync(CancellationToken) ExecuteNonQueryAsync(CancellationToken) ExecuteNonQueryAsync(CancellationToken) ExecuteNonQueryAsync(CancellationToken)

Versión asincrónica de ExecuteNonQuery(), que ejecuta una instrucción de Transact-SQLTransact-SQL con la conexión y devuelve el número de filas afectadas.An asynchronous version of ExecuteNonQuery(), which executes a Transact-SQLTransact-SQL statement against the connection and returns the number of rows affected. Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteReader() ExecuteReader() ExecuteReader() ExecuteReader()

Envía la propiedad CommandText a Connection y crea un objeto SqlDataReader.Sends the CommandText to the Connection and builds a SqlDataReader.

ExecuteReader(CommandBehavior) ExecuteReader(CommandBehavior) ExecuteReader(CommandBehavior) ExecuteReader(CommandBehavior)

Envía CommandText a Connection y crea un SqlDataReader mediante uno de los valores de CommandBehavior.Sends the CommandText to the Connection, and builds a SqlDataReader using one of the CommandBehavior values.

ExecuteReaderAsync() ExecuteReaderAsync() ExecuteReaderAsync() ExecuteReaderAsync()

Una versión asincrónica de ExecuteReader(), que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReader.An asynchronous version of ExecuteReader(), which sends the CommandText to the Connection and builds a SqlDataReader. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteReaderAsync(CancellationToken) ExecuteReaderAsync(CancellationToken) ExecuteReaderAsync(CancellationToken) ExecuteReaderAsync(CancellationToken)

Una versión asincrónica de ExecuteReader(), que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReader.An asynchronous version of ExecuteReader(), which sends the CommandText to the Connection and builds a SqlDataReader.

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteReaderAsync(CommandBehavior) ExecuteReaderAsync(CommandBehavior) ExecuteReaderAsync(CommandBehavior) ExecuteReaderAsync(CommandBehavior)

Versión asincrónica de ExecuteReader(CommandBehavior), que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReader.An asynchronous version of ExecuteReader(CommandBehavior), which sends the CommandText to the Connection, and builds a SqlDataReader. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteReaderAsync(CommandBehavior, CancellationToken) ExecuteReaderAsync(CommandBehavior, CancellationToken) ExecuteReaderAsync(CommandBehavior, CancellationToken) ExecuteReaderAsync(CommandBehavior, CancellationToken)

Versión asincrónica de ExecuteReader(CommandBehavior), que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReaderAn asynchronous version of ExecuteReader(CommandBehavior), which sends the CommandText to the Connection, and builds a SqlDataReader

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteScalar() ExecuteScalar() ExecuteScalar() ExecuteScalar()

Ejecuta la consulta y devuelve la primera columna de la primera fila del conjunto de resultados devuelto por la consulta.Executes the query, and returns the first column of the first row in the result set returned by the query. Las demás columnas o filas no se tienen en cuenta.Additional columns or rows are ignored.

ExecuteScalarAsync(CancellationToken) ExecuteScalarAsync(CancellationToken) ExecuteScalarAsync(CancellationToken) ExecuteScalarAsync(CancellationToken)

Versión asincrónica de ExecuteScalar() que ejecuta la consulta asincrónicamente y devuelve la primera columna de la primera fila del conjunto de resultados que devuelve la consulta.An asynchronous version of ExecuteScalar(), which executes the query asynchronously and returns the first column of the first row in the result set returned by the query. Las demás columnas o filas no se tienen en cuenta.Additional columns or rows are ignored.

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteXmlReader() ExecuteXmlReader() ExecuteXmlReader() ExecuteXmlReader()

Envía CommandText a Connection y crea un objeto XmlReader.Sends the CommandText to the Connection and builds an XmlReader object.

ExecuteXmlReaderAsync() ExecuteXmlReaderAsync() ExecuteXmlReaderAsync() ExecuteXmlReaderAsync()

Una versión asincrónica de ExecuteXmlReader(), que envía la propiedad CommandText a la propiedad Connection y compila un objeto XmlReader.An asynchronous version of ExecuteXmlReader(), which sends the CommandText to the Connection and builds an XmlReader object.

Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

ExecuteXmlReaderAsync(CancellationToken) ExecuteXmlReaderAsync(CancellationToken) ExecuteXmlReaderAsync(CancellationToken) ExecuteXmlReaderAsync(CancellationToken)

Una versión asincrónica de ExecuteXmlReader(), que envía la propiedad CommandText a la propiedad Connection y compila un objeto XmlReader.An asynchronous version of ExecuteXmlReader(), which sends the CommandText to the Connection and builds an XmlReader object.

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. Las excepciones se mostrarán a través del objeto Task devuelto.Exceptions will be reported via the returned Task object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Prepare() Prepare() Prepare() Prepare()

Crea una versión preparada del comando en una instancia de SQL Server.Creates a prepared version of the command on an instance of SQL Server.

ResetCommandTimeout() ResetCommandTimeout() ResetCommandTimeout() ResetCommandTimeout()

Restablece el valor predeterminado de la propiedad CommandTimeout.Resets the CommandTimeout property to its default value.

ToString() ToString() ToString() ToString()

Devuelve una String que contiene el nombre del Component, si existe.Returns a String containing the name of the Component, if any. Este método no se debe invalidar.This method should not be overridden.

(Inherited from Component)

Eventos

Disposed Disposed Disposed Disposed

Se produce cuando el componente se elimina mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)
StatementCompleted StatementCompleted StatementCompleted StatementCompleted

Se produce cuando finaliza la ejecución de una instrucción Transact-SQL.Occurs when the execution of a Transact-SQL statement completes.

Implementaciones de interfaz explícitas

ICloneable.Clone() ICloneable.Clone() ICloneable.Clone() ICloneable.Clone()

Crea un nuevo objeto SqlCommand que es una copia de la instancia actual.Creates a new SqlCommand object that is a copy of the current instance.

IDbCommand.CreateParameter() IDbCommand.CreateParameter() IDbCommand.CreateParameter() IDbCommand.CreateParameter()

Crea una nueva instancia de un objeto SqlParameter.Creates a new instance of a SqlParameter object.

IDbCommand.ExecuteReader() IDbCommand.ExecuteReader() IDbCommand.ExecuteReader() IDbCommand.ExecuteReader()

Envía la propiedad CommandText a la propiedad Connection y compila un objeto SqlDataReader.Sends the CommandText to the Connection, and builds a SqlDataReader.

IDbCommand.ExecuteReader(CommandBehavior) IDbCommand.ExecuteReader(CommandBehavior) IDbCommand.ExecuteReader(CommandBehavior) IDbCommand.ExecuteReader(CommandBehavior)

Envía CommandText a Connection y crea un SqlDataReader mediante uno de los valores de CommandBehavior.Sends the CommandText to the Connection, and builds a SqlDataReader using one of the CommandBehavior values.

Se aplica a

Consulte también: