Compartilhar via


SqlCommand Classe

Definição

Representa uma instrução Transact-SQL ou procedimento armazenado para execução em um banco de dados SQL Server. Essa classe não pode ser herdada.

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

Exemplos

O exemplo a seguir cria um SqlConnection, um SqlCommande um SqlDataReader. O exemplo lê os dados, gravando-os no console. Por fim, o exemplo fecha o SqlDataReader e, em seguida, o SqlConnection conforme ele sai dos Using blocos de código.

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


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

        }

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

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

Primeiro, você deve criar o banco 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

Em seguida, compile e execute o seguinte:

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

class Program
{

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

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

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

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

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

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

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

                return reader;
            }
        }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Comentários

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

SqlCommandapresenta os seguintes métodos para executar comandos em um banco de dados SQL Server:

Item Descrição
BeginExecuteNonQuery Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por este SqlCommand, geralmente executando comandos como instruções INSERT, DELETE, UPDATE e SET. Cada chamada para BeginExecuteNonQuery deve ser emparelhada com uma chamada para a EndExecuteNonQuery qual conclui a operação, normalmente em um thread separado.
BeginExecuteReader Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por ele SqlCommand e recupera um ou mais conjuntos de resultados do servidor. Cada chamada para BeginExecuteReader deve ser emparelhada com uma chamada para a EndExecuteReader qual conclui a operação, normalmente em um thread separado.
BeginExecuteXmlReader Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado que é descrito por este SqlCommand. Cada chamada para BeginExecuteXmlReader deve ser emparelhada com uma chamada para EndExecuteXmlReader, que conclui a operação, normalmente em um thread separado, e retorna um XmlReader objeto .
ExecuteReader Executa comandos que retornam linhas. Para aumentar o desempenho, ExecuteReader invoca comandos usando o procedimento armazenado do sistema Transact-SQL sp_executesql . Portanto, ExecuteReader pode não ter o efeito desejado se usado para executar comandos como instruções SET Transact-SQL.
ExecuteNonQuery Executa comandos como instruções INSERT, DELETE, UPDATE e SET do Transact-SQL.
ExecuteScalar Recupera um único valor (por exemplo, um valor agregado) de um banco de dados.
ExecuteXmlReader Envia o CommandText para o Connection e cria um objeto XmlReader.

Você pode redefinir a CommandText propriedade e reutilizar o SqlCommand objeto. No entanto, você deve fechar o SqlDataReader antes de executar um comando novo ou anterior.

Se um SqlException for gerado pelo método que executa um SqlCommand, o SqlConnection permanecerá aberto quando o nível de severidade for 19 ou menos. Quando o nível de severidade é 20 ou maior, o servidor normalmente fecha o SqlConnection. No entanto, o usuário pode reabrir a conexão e continuar.

Observação

Parâmetros sem nome, também chamados de ordinais, não são compatíveis com o provedor de dados .NET Framework para SQL Server.

Construtores

SqlCommand()

Inicializa uma nova instância da classe SqlCommand.

SqlCommand(String)

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

SqlCommand(String, SqlConnection)

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

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, SqlTransaction, SqlCommandColumnEncryptionSetting)

Inicializa uma nova instância da classe SqlCommand com texto de comando especificado, conexões, transações e configuração de criptografia.

Propriedades

ColumnEncryptionSetting

Obtém a configuração de criptografia de coluna para este comando.

CommandText

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

CommandTimeout

Obtém ou define o tempo de espera (em segundos) antes de encerrar a tentativa de executar um comando e antes de gerar um erro. O padrão é 30 segundos.

CommandType

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

Connection

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

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.

EnableOptimizedParameterBinding

Obtém ou define um valor que indica se o objeto de comando deve otimizar o desempenho do parâmetro desabilitando as instruções Output e InputOutput ao enviar o comando para o SQL Server.

Notification

Obtém ou define um valor que especifica o objeto SqlNotificationRequest associado a este comando.

NotificationAutoEnlist

Obtém ou define um valor que indica se o aplicativo deve receber notificações de consulta automaticamente de um objeto SqlDependency comum.

Parameters

Obtém o SqlParameterCollection .

RetryLogicProvider

Obtém ou define um valor que especifica o objeto SqlRetryLogicBaseProvider associado a este comando.

Transaction

Obtém ou define o SqlCommand em que o SqlTransaction é executado.

UpdatedRowSource

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

Métodos

BeginExecuteNonQuery()

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

BeginExecuteNonQuery(AsyncCallback, Object)

Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por este SqlCommand , considerando um procedimento de retorno de chamada e informações de estado.

BeginExecuteReader()

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.

BeginExecuteReader(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.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por este SqlCommand , usando um dosCommandBehavior valores e recuperação de um ou mais conjuntos de resultados do servidor, considerando um procedimento de retorno de chamada e informações de estado.

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.

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.

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.

Cancel()

Tenta cancelar a execução de um SqlCommand .

Clone()

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

CreateParameter()

Cria uma nova instância de um objeto SqlParameter.

EndExecuteNonQuery(IAsyncResult)

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

EndExecuteReader(IAsyncResult)

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

EndExecuteXmlReader(IAsyncResult)

Conclui a execução assíncrona de uma instrução Transact-SQL e retorna os dados solicitados como XML.

ExecuteNonQuery()

Executa uma instrução Transact-SQL na conexão e retorna o número de linhas afetadas.

ExecuteNonQueryAsync(CancellationToken)

Uma versão assíncrona do ExecuteNonQuery() , que executa uma instrução Transact-SQL na conexão e retorna o número de linhas afetadas. O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando. As exceções serão relatadas por meio do objeto de tarefa.

ExecuteReader()

Envia o CommandText para o Connection e cria um SqlDataReader .

ExecuteReader(CommandBehavior)

Envia o CommandText para o Connection e cria um usando um SqlDataReader dos CommandBehavior valores .

ExecuteReaderAsync()

Uma versão assíncrona de ExecuteReader() , que envia o CommandText para o Connection e cria um SqlDataReader . As exceções serão relatadas por meio do objeto de tarefa.

ExecuteReaderAsync(CancellationToken)

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

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando. As exceções serão relatadas por meio do objeto de tarefa.

ExecuteReaderAsync(CommandBehavior)

Uma versão assíncrona de ExecuteReader(CommandBehavior) , que envia o CommandText para o Connection e cria um SqlDataReader . As exceções serão relatadas por meio do objeto de tarefa.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Uma versão assíncrona de ExecuteReader(CommandBehavior) , que envia o CommandText para o Connection e cria um SqlDataReader O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes que o tempo limite do comando se desaiba. As exceções serão relatadas por meio do objeto de tarefa.

ExecuteScalar()

Executa a consulta e retorna a primeira coluna da primeira linha no conjunto de resultados retornado pela consulta. Colunas ou linhas adicionais são ignoradas.

ExecuteScalarAsync(CancellationToken)

Uma versão assíncrona de , que executa a consulta de ExecuteScalar() forma assíncrona e retorna a primeira coluna da primeira linha no conjunto de resultados retornado pela consulta. Colunas ou linhas adicionais são ignoradas.

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando. As exceções serão relatadas por meio do objeto de tarefa.

ExecuteXmlReader()

Envia o CommandText para o Connection e cria um objeto XmlReader.

ExecuteXmlReaderAsync()

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

As exceções serão relatadas por meio do objeto de tarefa.

ExecuteXmlReaderAsync(CancellationToken)

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

O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes de expirar o tempo limite do comando. As exceções serão relatadas por meio do objeto de tarefa.

Prepare()

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

RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)

Registra os provedores de repositório de chaves de criptografia na SqlCommand instância. Se essa função tiver sido chamada, todos os provedores registrados usando os RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) métodos ou RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) serão ignorados. Essa função pode ser chamada mais de uma vez. Isso faz uma cópia superficial do dicionário para que o aplicativo não possa alterar a lista de provedores personalizados depois de definido.

ResetCommandTimeout()

Redefine a propriedade CommandTimeout para seu valor padrão.

Eventos

StatementCompleted

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

Implantações explícitas de interface

ICloneable.Clone()

Representa uma instrução Transact-SQL ou procedimento armazenado para execução em um banco de dados SQL Server. Essa classe não pode ser herdada.

Aplica-se a