SqlCommand Classe

Definição

Representa uma instrução Transact-SQL ou procedimento armazenado para executar contra uma base de dados SQL Server. Esta classe não pode ser herdada.

public ref class SqlCommand sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbCommand
public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable
public sealed class SqlCommand : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbCommand
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
type SqlCommand = class
    inherit Component
    interface IDbCommand
    interface IDisposable
    interface ICloneable
type SqlCommand = class
    inherit DbCommand
    interface ICloneable
Public NotInheritable Class SqlCommand
Inherits Component
Implements ICloneable, IDbCommand, IDisposable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
Herança
Herança
Implementações

Exemplos

O exemplo seguinte cria um SqlConnection, um SqlCommand, e um SqlDataReader. O exemplo lê os dados, escrevendo-os na consola. Finalmente, o exemplo fecha o SqlDataReader e depois o SqlConnection à medida que sai dos Using blocos de código.

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

O exemplo seguinte mostra como criar e executar diferentes tipos de objetos SqlCommand.

Primeiro, deve criar a base de dados de exemplo, executando o seguinte 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

De seguida, compila e executa o seguinte:

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");
   }
}

Observações

Quando uma instância de SqlCommand é criada, as propriedades de leitura/escrita são definidas para os seus valores iniciais. Para obter uma lista desses valores, consulte o SqlCommand construtor.

SqlCommand apresenta os seguintes métodos para executar comandos numa base de dados SQL Server:

Item Description
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 SET. Cada chamada para BeginExecuteNonQuery deve ser emparelhada com uma chamada para EndExecuteNonQuery, que termina a operação, normalmente num thread separado.
BeginExecuteReader Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand e recupera um ou mais conjuntos de resultados do servidor. Cada chamada para BeginExecuteReader deve ser emparelhada com uma chamada para EndExecuteReader, que termina a operação, normalmente num thread separado.
BeginExecuteXmlReader Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand. Cada chamada para BeginExecuteXmlReader deve ser emparelhada com uma chamada para EndExecuteXmlReader, que termina a operação, normalmente numa thread separada, e devolve um XmlReader objeto.
ExecuteReader Executa comandos que devolvem linhas. Para aumentar o desempenho, ExecuteReader invoca comandos usando o procedimento armazenado Transact-SQL sp_executesql sistema. Portanto, ExecuteReader pode não ter o efeito que pretende se for usado para executar comandos como Transact-SQL instruções SET.
ExecuteNonQuery Executa comandos como Transact-SQL instruções INSERT, DELETE, UPDATE e SET.
ExecuteScalar Recupera um único valor (por exemplo, um valor agregado) de uma base de dados.
ExecuteXmlReader Envia o CommandText para e Connection constrói um XmlReader objeto.

Podes repor a CommandText propriedade e reutilizar o SqlCommand objeto. No entanto, deve fechar antes SqlDataReader de poder executar um comando novo ou anterior.

Se a SqlException for gerado pelo método que executa a SqlCommand, permanece SqlConnection aberto quando o nível de gravidade é 19 ou inferior. Quando o nível de gravidade é 20 ou superior, o servidor normalmente fecha o SqlConnection. No entanto, o utilizador pode reabrir a ligação e continuar.

Note

Parâmetros sem nome, também chamados de ordinais, não são suportados pelo .NET Framework Data Provider for SQL Server.

Construtores

Name Description
SqlCommand()

Inicializa uma nova instância da SqlCommand classe.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Inicializa uma nova instância da SqlCommand classe com texto de comando especificado, ligação, transação e definição de encriptação.

SqlCommand(String, SqlConnection, SqlTransaction)

Inicializa uma nova instância da SqlCommand classe com o texto da consulta, um SqlConnection, e o SqlTransaction.

SqlCommand(String, SqlConnection)

Inicializa uma nova instância da SqlCommand classe com o texto da consulta e um SqlConnection.

SqlCommand(String)

Inicializa uma nova instância da SqlCommand classe com o texto da consulta.

Propriedades

Name Description
CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
ColumnEncryptionSetting

Obtém ou define a definição de encriptação da coluna para este comando.

CommandText

Obtém ou define a Transact-SQL instrução, nome de tabela ou procedimento armazenado para executar na fonte de dados.

CommandTimeout

Obtém ou define o tempo de espera (em segundos) antes de terminar a tentativa de executar um comando e gerar um erro.

CommandType

Obtém ou define um valor que indica como a CommandText propriedade deve ser interpretada.

Connection

Obtém ou define o SqlConnection usado por esta instância do SqlCommand.

Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
DbConnection

Obtém ou define o DbConnection usado por este DbCommand.

(Herdado de DbCommand)
DbParameterCollection

Fica com a coleção de DbParameter objetos.

(Herdado de DbCommand)
DbTransaction

Obtém ou define o DbTransaction dentro do qual este DbCommand objeto executa.

(Herdado de DbCommand)
DesignMode

Obtém um valor que indica se o Component está atualmente em modo de design.

(Herdado de Component)
DesignTimeVisible

Recebe ou define um valor que indica se o objeto de comando deve ser visível num controlo do Windows Form Designer.

Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
Notification

Recebe ou define um valor que especifica o SqlNotificationRequest objeto associado a este comando.

NotificationAutoEnlist

Recebe ou define um valor que indica se a aplicação deve receber automaticamente notificações de consulta de um objeto comum SqlDependency .

Parameters

Obtém o SqlParameterCollection.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
Transaction

Obtém ou define o SqlTransaction dentro do qual executa SqlCommand .

UpdatedRowSource

Obtém ou define como os resultados dos comandos são aplicados ao DataRow quando usados pelo método Update do DbDataAdapter.

Métodos

Name Description
BeginExecuteNonQuery()

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado que é descrito por este SqlCommand, dado um procedimento de callback e informação de estado.

BeginExecuteReader()

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand, e recupera um ou mais conjuntos de resultados do servidor.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand, usando um dos valores CommandBehavior, e recuperando um ou mais conjuntos de resultados do servidor, dado um procedimento de callback e informação de estado.

BeginExecuteReader(AsyncCallback, Object)

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand e recupera um ou mais conjuntos de resultados do servidor, dado um procedimento de callback e informação de estado.

BeginExecuteReader(CommandBehavior)

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado que é descrito por este SqlCommand usando um dos valores CommandBehavior.

BeginExecuteXmlReader()

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand e retorna os resultados como um objeto XmlReader.

BeginExecuteXmlReader(AsyncCallback, Object)

Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por este SqlCommand e retorna os resultados como um objeto XmlReader, usando um procedimento de callback.

Cancel()

Tenta cancelar a execução de um SqlCommand.

Clone()

Cria um novo SqlCommand objeto que é uma cópia da instância atual.

CreateDbParameter()

Cria uma nova instância de um DbParameter objeto.

(Herdado de DbCommand)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
CreateParameter()

Cria uma nova instância de um SqlParameter objeto.

Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos.

(Herdado de Component)
EndExecuteNonQuery(IAsyncResult)

Termina a execução assíncrona de uma instrução Transact-SQL.

EndExecuteReader(IAsyncResult)

Termina a execução assíncrona de uma instrução Transact-SQL, devolvendo o SqlDataReader solicitado.

EndExecuteXmlReader(IAsyncResult)

Termina a execução assíncrona de uma instrução Transact-SQL, devolvendo os dados solicitados como XML.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExecuteDbDataReader(CommandBehavior)

Executa o comando contra a sua ligação, devolvendo um DbDataReader que pode ser usado para aceder aos resultados.

(Herdado de DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Os fornecedores devem implementar este método para fornecer uma implementação não padrão para ExecuteReader sobrecargas.

A implementação padrão invoca o método síncrono ExecuteReader() e devolve uma tarefa concluída, bloqueando a thread que chama. A implementação por defeito devolverá uma tarefa cancelada se for recebida um token de cancelamento já cancelado. As exceções lançadas pelo ExecuteReader serão comunicadas através da propriedade de Exceção de Tarefa devolvida.

Este método aceita um token de cancelamento que pode ser usado para pedir que a operação seja cancelada antecipadamente. As implementações podem ignorar este pedido.

(Herdado de DbCommand)
ExecuteNonQuery()

Executa uma instrução Transact-SQL contra a ligação e devolve o número de linhas afetadas.

ExecuteNonQueryAsync()

Uma versão assíncrona de ExecuteNonQuery(), que executa o comando contra o seu objeto de ligação, devolvendo o número de linhas afetadas.

Invoca ExecuteNonQueryAsync(CancellationToken) com CancellationToken.None.

(Herdado de DbCommand)
ExecuteNonQueryAsync(CancellationToken)

Uma versão assíncrona de ExecuteNonQuery(), que executa uma instrução Transact-SQL contra a ligação e devolve o número de linhas afetadas. O token de cancelamento pode ser usado para pedir que a operação seja abandonada antes do tempo limite do comando. As exceções serão reportadas através do objeto Task devolvido.

ExecuteReader()

Envia o CommandText para e Connection constrói um SqlDataReader.

ExecuteReader(CommandBehavior)

Envia o CommandText para o Connection, e constrói um SqlDataReader usando um dos CommandBehavior valores.

ExecuteReaderAsync()

Uma versão assíncrona de ExecuteReader(), que envia o CommandText para o Connection e constrói um SqlDataReader. As exceções serão reportadas através do objeto Task devolvido.

ExecuteReaderAsync(CancellationToken)

Uma versão assíncrona de ExecuteReader(), que envia o CommandText para o Connection e constrói um SqlDataReader.

O token de cancelamento pode ser usado para pedir que a operação seja abandonada antes do tempo limite do comando. As exceções serão reportadas através do objeto Task devolvido.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Uma versão assíncrona de ExecuteReader(CommandBehavior), que envia o CommandText para o Connection, e constrói um SqlDataReader

O token de cancelamento pode ser usado para pedir que a operação seja abandonada antes do tempo limite do comando. As exceções serão reportadas através do objeto Task devolvido.

ExecuteReaderAsync(CommandBehavior)

Uma versão assíncrona de ExecuteReader(CommandBehavior), que envia o CommandText para o Connection, e constrói um SqlDataReader. As exceções serão reportadas através do objeto Task devolvido.

ExecuteScalar()

Executa a consulta e devolve a primeira coluna da primeira linha do conjunto de resultados devolvida pela consulta. Colunas ou linhas adicionais são ignoradas.

ExecuteScalarAsync()

Uma versão assíncrona de ExecuteScalar(), que executa o comando e devolve a primeira coluna da primeira linha do primeiro conjunto de resultados devolvido. Todas as outras colunas, linhas e conjuntos de resultados são ignorados.

Invoca ExecuteScalarAsync(CancellationToken) com CancellationToken.None.

(Herdado de DbCommand)
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 do conjunto de resultados devolvida pela consulta. Colunas ou linhas adicionais são ignoradas.

O token de cancelamento pode ser usado para pedir que a operação seja abandonada antes do tempo limite do comando. As exceções serão reportadas através do objeto Task devolvido.

ExecuteXmlReader()

Envia o CommandText para e Connection constrói um XmlReader objeto.

ExecuteXmlReaderAsync()

Uma versão assíncrona de ExecuteXmlReader(), que envia o CommandText para o Connection e constrói um XmlReader objeto.

As exceções serão reportadas através do objeto Task devolvido.

ExecuteXmlReaderAsync(CancellationToken)

Uma versão assíncrona de ExecuteXmlReader(), que envia o CommandText para o Connection e constrói um XmlReader objeto.

O token de cancelamento pode ser usado para pedir que a operação seja abandonada antes do tempo limite do comando. As exceções serão reportadas através do objeto Task devolvido.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetService(Type)

Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
Prepare()

Cria uma versão preparada do comando numa instância do SQL Server.

ResetCommandTimeout()

Reinicia a CommandTimeout propriedade para o seu valor padrão.

ToString()

Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado.

(Herdado de Component)

evento

Name Description
Disposed

Ocorre quando o componente é eliminado por uma chamada ao Dispose() método.

(Herdado de Component)
StatementCompleted

Ocorre quando a execução de uma instrução Transact-SQL é concluída.

Implementações de Interface Explícita

Name Description
ICloneable.Clone()

Cria um novo SqlCommand objeto que é uma cópia da instância atual.

IDbCommand.Connection

Obtém ou define o IDbConnection usado por esta instância do IDbCommand.

(Herdado de DbCommand)
IDbCommand.CreateParameter()

Cria uma nova instância de um SqlParameter objeto.

IDbCommand.CreateParameter()

Cria uma nova instância de um IDbDataParameter objeto.

(Herdado de DbCommand)
IDbCommand.ExecuteReader()

Envia o CommandText para o Connection, e constrói um SqlDataReader.

IDbCommand.ExecuteReader()

Executa o CommandText contra o Connection e constrói um IDataReader.

(Herdado de DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Envia o CommandText para o Connection, e constrói um SqlDataReader usando um dos CommandBehavior valores.

IDbCommand.ExecuteReader(CommandBehavior)

Executa o CommandText contra o Connection, e constrói um IDataReader usando um dos CommandBehavior valores.

(Herdado de DbCommand)
IDbCommand.Parameters

Obtém o IDataParameterCollection.

(Herdado de DbCommand)
IDbCommand.Transaction

Obtém ou define o DbTransaction dentro do qual este DbCommand objeto executa.

(Herdado de DbCommand)

Aplica-se a

Ver também