SqlCommand SqlCommand SqlCommand SqlCommand Class

Definição

Representa uma instrução Transact-SQL ou procedimento armazenado para execução em um banco de dados SQL Server.Represents a Transact-SQL statement or stored procedure to execute against a SQL Server database. Essa classe não pode ser herdada.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
Herança
Implementações

Exemplos

O exemplo a seguir cria uma SqlConnection, um SqlCommande um SqlDataReader.The following example creates a SqlConnection, a SqlCommand, and a SqlDataReader. O exemplo lê os dados, gravá-los no console do.The example reads through the data, writing it to the console. Por fim, o exemplo fecha o SqlDataReader e, em seguida, o SqlConnection conforme ele é encerrado a Using blocos 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();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
        finally
        {
            // Always call Close when done reading.
            reader.Close();
        }
    }
}
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

O exemplo a seguir mostra como criar e executar diferentes tipos de objetos SqlCommand.The following sample shows how to create and execute different types of SqlCommand objects.

Primeiro você deve criar o banco de dados de exemplo, executando o script a seguir: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  

Em seguida, compile e execute o seguinte: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");  
   }  
}  

Comentários

Quando uma instância do SqlCommand é criado, a leitura/gravação são definidas para seus valores iniciais.When an instance of SqlCommand is created, the read/write properties are set to their initial values. Para obter uma lista desses valores, consulte o SqlCommand construtor.For a list of these values, see the SqlCommand constructor.

SqlCommand apresenta os seguintes métodos para executar comandos em um banco de dados do SQL Server:SqlCommand features the following methods for executing commands at a SQL Server database:

ItemItem DescriçãoDescription
BeginExecuteNonQuery Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand, geralmente executando comandos como INSERT, DELETE, UPDATE e instruções 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 chamada para BeginExecuteNonQuery deve ser emparelhado com uma chamada para EndExecuteNonQuery que conclui a operação, normalmente em um thread separado.Each call to BeginExecuteNonQuery must be paired with a call to EndExecuteNonQuery which finishes the operation, typically on a separate thread.
BeginExecuteReader Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand e recupera conjuntos de resultados de uma ou mais do 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 chamada para BeginExecuteReader deve ser emparelhado com uma chamada para EndExecuteReader que conclui a operação, normalmente em um thread separado.Each call to BeginExecuteReader must be paired with a call to EndExecuteReader which finishes the operation, typically on a separate thread.
BeginExecuteXmlReader Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado que é descrito por este SqlCommand.Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this SqlCommand. Cada chamada para BeginExecuteXmlReader deve ser emparelhado com uma chamada para EndExecuteXmlReader, que conclui a operação, normalmente em um thread separado e retorna um XmlReader 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 Executa os comandos que retornam linhas.Executes commands that return rows. Para melhorar o desempenho ExecuteReader invoca comandos usando o Transact-SQL sp_executesql procedimento armazenado do sistema.For increased performance, ExecuteReader invokes commands using the Transact-SQL sp_executesql system stored procedure. Portanto, ExecuteReader pode não ter o efeito que você deseja se usado para executar comandos como instruções Transact-SQL SET.Therefore, ExecuteReader might not have the effect that you want if used to execute commands such as Transact-SQL SET statements.
ExecuteNonQuery Executa comandos como instruções Transact-SQL INSERT, DELETE, UPDATE e SET.Executes commands such as Transact-SQL INSERT, DELETE, UPDATE, and SET statements.
ExecuteScalar Recupera um valor único (por exemplo, um valor agregado) de um banco de dados.Retrieves a single value (for example, an aggregate value) from a database.
ExecuteXmlReader Envia o CommandText para o Connection e cria um objeto XmlReader.Sends the CommandText to the Connection and builds an XmlReader object.

Você pode redefinir a CommandText propriedade e a reutilização de SqlCommand objeto.You can reset the CommandText property and reuse the SqlCommand object. No entanto, você deve fechar o SqlDataReader antes de executar um comando de novo ou anterior.However, you must close the SqlDataReader before you can execute a new or previous command.

Se um SqlException é gerado pelo método em execução um SqlCommand, o SqlConnection permanece aberto quando o nível de severidade é 19 ou inferior.If a SqlException is generated by the method executing a SqlCommand, the SqlConnection remains open when the severity level is 19 or less. Quando o nível de severidade é 20 ou maior, o servidor normalmente fecha o SqlConnection.When the severity level is 20 or greater, the server ordinarily closes the SqlConnection. No entanto, o usuário pode reabrir a conexão e continuar.However, the user can reopen the connection and continue.

Observação

Sem nome, também chamado de ordinal, parâmetros não são suportados pelo provedor de dados .NET Framework para SQL Server.Nameless, also called ordinal, parameters are not supported by the .NET Framework Data Provider for SQL Server.

Construtores

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

Inicializa uma nova instância da classe SqlCommand.Initializes a new instance of the SqlCommand class.

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

Inicializa uma nova instância da classe SqlCommand com o texto da 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 uma nova instância da classe SqlCommand com o texto da consulta e um 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 uma nova instância da classe SqlCommand com o texto da consulta, um SqlConnection e o 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 uma nova instância da classe SqlCommand com texto de comando especificado, conexões, transações e configuração de criptografia.Initializes a new instance of the SqlCommand class with specified command text, connection, transaction, and encryption setting.

Propriedades

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
ColumnEncryptionSetting ColumnEncryptionSetting ColumnEncryptionSetting ColumnEncryptionSetting

Obtém ou define a configuração de criptografia de coluna desse comando.Gets or sets the column encryption setting for this command.

CommandText CommandText CommandText CommandText

Obtém ou define a instrução Transact-SQL, nome da tabela ou procedimento armazenado a ser executado na fonte de dados.Gets or sets the Transact-SQL statement, table name or stored procedure to execute at the data source.

CommandTimeout CommandTimeout CommandTimeout CommandTimeout

Obtém ou define o tempo de espera antes do término da tentativa de executar um comando e antes de gerar um erro.Gets or sets the wait time before terminating the attempt to execute a command and generating an error.

CommandType CommandType CommandType CommandType

Obtém ou define um valor que indica como a propriedade CommandText deve ser interpretada.Gets or sets a value indicating how the CommandText property is to be interpreted.

Connection Connection Connection Connection

Obtém ou define o SqlConnection usado por essa instância do SqlCommand.Gets or sets the SqlConnection used by this instance of the SqlCommand.

Container Container Container Container

Obtém o IContainer que contém o Component.Gets the IContainer that contains the Component.

(Inherited from Component)
DesignMode DesignMode DesignMode DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
DesignTimeVisible DesignTimeVisible DesignTimeVisible DesignTimeVisible

Obtém ou define um valor que indica se o objeto de comando deve estar visível em um controle do Windows Form Designer.Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control.

Events Events Events Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Notification Notification Notification Notification

Obtém ou define um valor que especifica o objeto SqlNotificationRequest associado a este comando.Gets or sets a value that specifies the SqlNotificationRequest object bound to this command.

NotificationAutoEnlist NotificationAutoEnlist NotificationAutoEnlist NotificationAutoEnlist

Obtém ou define um valor que indica se o aplicativo deve receber notificações de consulta automaticamente de um objeto SqlDependency comum.Gets or sets a value indicating whether the application should automatically receive query notifications from a common SqlDependency object.

Parameters Parameters Parameters Parameters

Obtém o SqlParameterCollection.Gets the SqlParameterCollection.

Site Site Site Site

Obtém ou define o ISite do Component.Gets or sets the ISite of the Component.

(Inherited from Component)
Transaction Transaction Transaction Transaction

Obtém ou define o SqlCommand em que o SqlTransaction é executado.Gets or sets the SqlTransaction within which the SqlCommand executes.

UpdatedRowSource UpdatedRowSource UpdatedRowSource UpdatedRowSource

Obtém ou define como os resultados do comando são aplicados a DataRow quando usado pelo 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 a execução assíncrona da instrução Transact-SQL ou procedimento armazenado que é descrito por este 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 a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por esse SqlCommand, dado um procedimento de retorno de chamada e informações sobre o 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 a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por SqlCommand e recupera um ou mais conjuntos de resultados do 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 a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por esse SqlCommand e recupera um ou mais conjuntos de resultado do servidor, dado um procedimento de retorno de chamada e informações sobre o 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 a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por esse SqlCommand, usando um dos valores CommandBehavior e recuperando um ou mais conjuntos de resultados do servidor, dado um procedimento de retorno de chamada e informações sobre o estado.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 a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por este SqlCommand usando um dos valores 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 a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por este SqlCommand e retorna resultados como um 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 a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por este SqlCommand e retorna resultados como um objeto XmlReader usando um procedimento de retorno de chamada.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()

Tenta cancelar a execução de um SqlCommand.Tries to cancel the execution of a SqlCommand.

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

Cria um novo objeto SqlCommand que é uma cópia da instância atual.Creates a new SqlCommand object that is a copy of the current instance.

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

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um 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()

Cria uma nova instância de um objeto SqlParameter.Creates a new instance of a SqlParameter object.

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

Libera todos os recursos usados pelo Component.Releases all resources used by the Component.

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

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.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)

Termina a execução assíncrona de uma instrução Transact-SQL.Finishes asynchronous execution of a Transact-SQL statement.

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

Conclui a execução assíncrona de uma instrução Transact-SQL, retornando o SqlDataReader solicitado.Finishes asynchronous execution of a Transact-SQL statement, returning the requested SqlDataReader.

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

Conclui a execução assíncrona de uma instrução Transact-SQL e retorna os dados 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 se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

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

Executa uma instrução Transact-SQL na conexão e retorna o número de linhas afetadas.Executes a Transact-SQL statement against the connection and returns the number of rows affected.

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

Uma versão assíncrona de ExecuteNonQuery(), que executa uma instrução Transact-SQLTransact-SQL em relação à conexão e retorna o número de linhas afetadas.An asynchronous version of ExecuteNonQuery(), which executes a Transact-SQLTransact-SQL statement against the connection and returns the number of rows affected. O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Envia o CommandText para o Connection e cria um SqlDataReader.Sends the CommandText to the Connection and builds a SqlDataReader.

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

Envia o CommandText para o Connection e cria um SqlDataReader usando um dos valores de CommandBehavior.Sends the CommandText to the Connection, and builds a SqlDataReader using one of the CommandBehavior values.

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

Uma versão assíncrona de ExecuteReader(), que envia o CommandText para o Connection e cria um SqlDataReader.An asynchronous version of ExecuteReader(), which sends the CommandText to the Connection and builds a SqlDataReader. As exceções serão relatadas por meio do objeto de Tarefa retornado.Exceptions will be reported via the returned Task object.

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

Uma versão assíncrona de ExecuteReader(), que envia o CommandText para o Connection e cria um SqlDataReader.An asynchronous version of ExecuteReader(), which sends the CommandText to the Connection and builds a SqlDataReader.

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Uma versão assíncrona de ExecuteReader(CommandBehavior), que envia o CommandText para o Connection e cria um SqlDataReader.An asynchronous version of ExecuteReader(CommandBehavior), which sends the CommandText to the Connection, and builds a SqlDataReader. As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Uma versão assíncrona de ExecuteReader(CommandBehavior), que envia o CommandText para o Connection e cria um SqlDataReaderAn asynchronous version of ExecuteReader(CommandBehavior), which sends the CommandText to the Connection, and builds a SqlDataReader

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Executa a consulta e retorna a primeira coluna da primeira linha do conjunto de resultados retornado pela consulta.Executes the query, and returns the first column of the first row in the result set returned by the query. Colunas ou linhas adicionais são ignoradas.Additional columns or rows are ignored.

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

Uma versão assíncrona de ExecuteScalar(), que executa a consulta de forma assíncrona e retorna a primeira coluna da primeira linha no conjunto de resultados retornado pela 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. Colunas ou linhas adicionais são ignoradas.Additional columns or rows are ignored.

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Envia o CommandText para o Connection e cria um objeto XmlReader.Sends the CommandText to the Connection and builds an XmlReader object.

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

Uma versão assíncrona de ExecuteXmlReader(), que envia o CommandText para o Connection e cria um objeto XmlReader.An asynchronous version of ExecuteXmlReader(), which sends the CommandText to the Connection and builds an XmlReader object.

As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Uma versão assíncrona de ExecuteXmlReader(), que envia o CommandText para o Connection e cria um objeto XmlReader.An asynchronous version of ExecuteXmlReader(), which sends the CommandText to the Connection and builds an XmlReader object.

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando.The cancellation token can be used to request that the operation be abandoned before the command timeout elapses. As exceções serão relatadas por meio do objeto de tarefa.Exceptions will be reported via the returned Task object.

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

Serve como a função de hash padrão.Serves as the default hash function.

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

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.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)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.Returns an object that represents a service provided by the Component or by its Container.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

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

Cria uma versão preparada do comando em uma instância do SQL Server.Creates a prepared version of the command on an instance of SQL Server.

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

Redefine a propriedade CommandTimeout para seu valor padrão.Resets the CommandTimeout property to its default value.

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

Retorna um String que contém o nome do Component, se houver.Returns a String containing the name of the Component, if any. Esse método não deve ser substituído.This method should not be overridden.

(Inherited from Component)

Eventos

Disposed Disposed Disposed Disposed

Ocorre quando o componente é disposto por uma chamada para o método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)
StatementCompleted StatementCompleted StatementCompleted StatementCompleted

Ocorre quando a execução de uma instrução Transact-SQL é concluída.Occurs when the execution of a Transact-SQL statement completes.

Implantações explícitas de interface

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

Cria um novo objeto SqlCommand que é uma cópia da instância atual.Creates a new SqlCommand object that is a copy of the current instance.

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

Cria uma nova instância de um objeto SqlParameter.Creates a new instance of a SqlParameter object.

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

Envia o CommandText para o Connection e cria um SqlDataReader.Sends the CommandText to the Connection, and builds a SqlDataReader.

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

Envia o CommandText para o Connection e cria um SqlDataReader usando um dos valores de CommandBehavior.Sends the CommandText to the Connection, and builds a SqlDataReader using one of the CommandBehavior values.

Aplica-se a

Veja também