SqlCommand Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma instrução Transact-SQL ou um procedimento armazenado a ser executado 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 e SqlDataReader , em seguida, o SqlConnection modo como 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 é criada, as propriedades de SqlCommand leitura/gravação são definidas como seus valores iniciais. Para obter uma lista desses valores, consulte o SqlCommand construtor.
SqlCommand apresenta os seguintes métodos para executar comandos em um banco de dados do SQL Server:
| Item | Description |
|---|---|
| BeginExecuteNonQuery | Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por isso SqlCommand, geralmente executando comandos como instruções INSERT, DELETE, UPDATE e SET. Cada chamada deve BeginExecuteNonQuery ser emparelhada com uma chamada à EndExecuteNonQuery qual termina 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 isso SqlCommand e recupera um ou mais conjuntos de resultados do servidor. Cada chamada deve BeginExecuteReader ser emparelhada com uma chamada à EndExecuteReader qual termina a operação, normalmente em um thread separado. |
| BeginExecuteXmlReader | Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por isso SqlCommand. Cada chamada deve BeginExecuteXmlReader ser emparelhada com uma chamada para EndExecuteXmlReader, que termina 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 talvez não tenha 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 Transact-SQL. |
| ExecuteScalar | Recupera um único valor (por exemplo, um valor agregado) de um banco de dados. |
| ExecuteXmlReader | Envia o CommandText objeto e Connection cria um XmlReader objeto. |
Você pode redefinir a CommandText propriedade e reutilizar o SqlCommand objeto. No entanto, você deve fechar antes SqlDataReader de executar um comando novo ou anterior.
Se um SqlException for gerado pelo método que executa um SqlCommand, ele SqlConnection permanecerá aberto quando o nível de severidade for 19 ou menos. Quando o nível de gravidade é 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 do .NET Framework para SQL Server.
Construtores
| Nome | Description |
|---|---|
| SqlCommand() |
Inicializa uma nova instância da classe SqlCommand. |
| SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) |
Inicializa uma nova instância da classe com texto SqlCommand de comando, conexão, transação e configuração de criptografia especificados. |
| SqlCommand(String, SqlConnection, SqlTransaction) |
Inicializa uma nova instância da SqlCommand classe com o texto da consulta, um SqlConnectione 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
| Nome | Description |
|---|---|
| ColumnEncryptionSetting |
Obtém a configuração de criptografia de coluna para este comando. |
| CommandText |
Obtém ou define a instrução Transact-SQL, o nome da tabela ou o 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 gerar um erro. O padrão é 30 segundos. |
| 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. |
| DesignTimeVisible |
Obtém ou define um valor que indica se o objeto de comando deve estar visível em um controle do Designer de Formulários do Windows. |
| EnableOptimizedParameterBinding |
Obtém ou define um valor que indica se o objeto de comando deve otimizar o desempenho do parâmetro desabilitando as direções Saída e InputOutput ao enviar o comando para o SQL Server. |
| Notification |
Obtém ou define um valor que especifica o SqlNotificationRequest objeto associado a esse comando. |
| NotificationAutoEnlist |
Obtém ou define um valor que indica se o aplicativo deve receber automaticamente notificações de consulta de um objeto comum SqlDependency . |
| Parameters |
Obtém SqlParameterCollection. |
| RetryLogicProvider |
Obtém ou define um valor que especifica o SqlRetryLogicBaseProvider objeto associado a esse comando. |
| Transaction |
Obtém ou define o SqlTransaction interior no qual a SqlCommand execução é executada. |
| UpdatedRowSource |
Obtém ou define como os resultados do comando são aplicados ao DataRow quando usado pelo |
Métodos
| Nome | Description |
|---|---|
| BeginExecuteNonQuery() |
Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por isso SqlCommand. |
| BeginExecuteNonQuery(AsyncCallback, Object) |
Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por ele 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 ele SqlCommande 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 do procedimento armazenado descrito por este SqlCommand, usando um dos
|
| BeginExecuteReader(AsyncCallback, Object) |
Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por isso SqlCommand e retorna resultados como um XmlReader objeto, usando um procedimento de retorno de chamada. |
| BeginExecuteReader(CommandBehavior) |
Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por isso SqlCommand usando um dos CommandBehavior valores. |
| BeginExecuteXmlReader() |
Inicia a execução assíncrona da instrução Transact-SQL ou do procedimento armazenado descrito por isso SqlCommand e retorna os resultados como um XmlReader objeto. |
| BeginExecuteXmlReader(AsyncCallback, Object) |
Inicia a execução assíncrona da instrução Transact-SQL ou procedimento armazenado descrito por isso SqlCommand e retorna resultados como um XmlReader objeto, usando um procedimento de retorno de chamada. |
| Cancel() |
Tenta cancelar a execução de um SqlCommand. |
| Clone() |
Cria um novo SqlCommand objeto que é uma cópia da instância atual. |
| CreateParameter() |
Cria uma nova instância de um SqlParameter objeto. |
| EndExecuteNonQuery(IAsyncResult) |
Conclui 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 SqlDataReader solicitado. |
| EndExecuteXmlReader(IAsyncResult) |
Conclui a execução assíncrona de uma instrução Transact-SQL, retornando 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 de 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 que o tempo limite do comando seja decorrido. As exceções serão relatadas por meio do objeto Task retornado. |
| ExecuteReader() |
Envia o CommandText para o Connection e cria um SqlDataReader. |
| ExecuteReader(CommandBehavior) |
Envia o CommandText para o Connectione 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 Task retornado. |
| 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 que o tempo limite do comando seja decorrido. As exceções serão relatadas por meio do objeto Task retornado. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Uma versão assíncrona de ExecuteReader(CommandBehavior), que envia o CommandText para o Connection, e cria um SqlDataReader token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes que o tempo limite do comando se esvaia. As exceções serão relatadas por meio do objeto Task retornado. |
| 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 Task retornado. |
| 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 ExecuteScalar(), que executa a consulta de 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 que o tempo limite do comando seja decorrido. As exceções serão relatadas por meio do objeto Task retornado. |
| ExecuteXmlReader() |
Envia o CommandText objeto e Connection cria um XmlReader objeto. |
| ExecuteXmlReaderAsync() |
Uma versão assíncrona da ExecuteXmlReader()qual o envia CommandText e Connection cria um XmlReader objeto. As exceções serão relatadas por meio do objeto Task retornado. |
| ExecuteXmlReaderAsync(CancellationToken) |
Uma versão assíncrona da ExecuteXmlReader()qual o envia CommandText e Connection cria um XmlReader objeto. O token de cancelamento pode ser usado para solicitar que a operação seja abandonada antes que o tempo limite do comando seja decorrido. As exceções serão relatadas por meio do objeto Task retornado. |
| 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 que ele tiver sido definido. |
| ResetCommandTimeout() |
Redefine a propriedade para seu CommandTimeout valor padrão. |
Eventos
| Nome | Description |
|---|---|
| StatementCompleted |
Ocorre quando a execução de uma instrução Transact-SQL é concluída. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ICloneable.Clone() |
Representa uma instrução Transact-SQL ou um procedimento armazenado a ser executado em um banco de dados SQL Server. Essa classe não pode ser herdada. |