SqlCommand Класс

Определение

Представляет инструкцию Transact-SQL или хранимую процедуру, выполняемую над базой данных SQL Server. Этот класс не наследуется.

public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable
public ref class SqlCommand sealed : System::Data::Common::DbCommand
public ref class SqlCommand sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbCommand
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
public sealed class SqlCommand : System.Data.Common.DbCommand
public sealed class SqlCommand : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbCommand
type SqlCommand = class
    inherit DbCommand
    interface ICloneable
type SqlCommand = class
    inherit DbCommand
type SqlCommand = class
    inherit Component
    interface IDbCommand
    interface IDisposable
    interface ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Public NotInheritable Class SqlCommand
Inherits Component
Implements ICloneable, IDbCommand, IDisposable
Наследование
SqlCommand
Наследование
Наследование
Реализации

Примеры

В следующем примере создаются SqlConnection, SqlCommandи SqlDataReader. В этом примере данные считываются, записывая их в консоль. Наконец, пример закрывает SqlDataReader , а затем по SqlConnection мере выхода из Using блоков кода.

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

В следующем примере показано, как создавать и выполнять различные типы объектов SqlCommand.

Сначала необходимо создать образец базы данных, выполнив следующий скрипт:

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  

Затем скомпилируйте и выполните следующее:

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

Комментарии

При создании экземпляра SqlCommand свойству чтения и записи присваиваются начальные значения. Список этих значений см. в конструкторе SqlCommand.

SqlCommandсодержит следующие методы для выполнения команд в базе данных SQL Server:

Item Описание
BeginExecuteNonQuery Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, описываемой в этом SqlCommand, обычно выполняя такие команды, как ИНСТРУКЦИи INSERT, DELETE, UPDATE и SET. Каждый вызов BeginExecuteNonQuery должен быть связан с вызовом , который EndExecuteNonQuery завершает операцию, обычно в отдельном потоке.
BeginExecuteReader Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, описанной в этом SqlCommand разделе, и извлекает один или несколько наборов результатов с сервера. Каждый вызов BeginExecuteReader должен быть связан с вызовом , который EndExecuteReader завершает операцию, обычно в отдельном потоке.
BeginExecuteXmlReader Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand. Каждый вызов BeginExecuteXmlReader должен быть связан с вызовом EndExecuteXmlReaderметода , который завершает операцию, обычно в отдельном потоке, и возвращает XmlReader объект .
ExecuteReader Выполняет команды, возвращающие строки. Для повышения производительности ExecuteReader вызывает команды с помощью системной хранимой процедуры Transact-SQL sp_executesql . Таким образом, ExecuteReader может не иметь желаемого эффекта, если используется для выполнения команд, таких как инструкции Transact-SQL SET.
ExecuteNonQuery Выполняет такие команды, как Инструкции Transact-SQL INSERT, DELETE, UPDATE и SET.
ExecuteScalar Извлекает одно значение (например, статистическое значение) из базы данных.
ExecuteXmlReader Отправляет CommandText в Connection и строит объект XmlReader.

Можно сбросить CommandText свойство и повторно использовать SqlCommand объект . Однако перед выполнением SqlDataReader новой или предыдущей команды необходимо закрыть .

SqlException Если создается методом, выполняющим SqlCommand, SqlConnection объект остается открытым, если уровень серьезности равен 19 или меньше. Если уровень серьезности равен 20 или выше, сервер обычно закрывает SqlConnection. Тем не менее, пользователь может опять открыть подключение и продолжить работу.

Примечание

Безымяные параметры, также называемые порядком, не поддерживаются поставщиком данных платформа .NET Framework для SQL Server.

Конструкторы

SqlCommand()

Инициализирует новый экземпляр класса SqlCommand.

SqlCommand(String)

Инициализирует новый экземпляр класса SqlCommand текстом запроса.

SqlCommand(String, SqlConnection)

Инициализирует новый экземпляр класса SqlCommand текстом запроса и подключением SqlConnection.

SqlCommand(String, SqlConnection, SqlTransaction)

Инициализирует новый экземпляр класса SqlCommand текстом запроса, подключением SqlConnection и транзакцией SqlTransaction.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Инициализирует новый экземпляр класса SqlCommand с заданными текстом команды, подключением, транзакцией и параметром шифрования.

Свойства

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.

(Унаследовано от Component)
ColumnEncryptionSetting

Возвращает или задает параметр шифрования столбца для этой команды.

CommandText

Возвращает или задает инструкцию Transact-SQL, имя таблицы или хранимую процедуру, выполняемую для источника данных.

CommandTimeout

Возвращает или задает время ожидания (в секундах) перед прекращением попытки выполнить команду и выводом ошибки.

CommandType

Возвращает или задает значение, определяющее, как будет интерпретироваться свойство CommandText.

Connection

Возвращает или задает объект SqlConnection, используемый этим экземпляром класса SqlCommand.

Container

Возвращает объект IContainer, который содержит коллекцию Component.

(Унаследовано от Component)
DbConnection

Возвращает или задает соединение DbConnection, используемое этой командой DbCommand.

(Унаследовано от DbCommand)
DbParameterCollection

Возвращает коллекцию объектов DbParameter.

(Унаследовано от DbCommand)
DbTransaction

Возвращает или задает контекст DbTransaction, в котором выполняется этот объект DbCommand.

(Унаследовано от DbCommand)
DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

(Унаследовано от Component)
DesignTimeVisible

Возвращает или задает значение, указывающее, будет ли объект команды видимым в элементе управления Windows Forms Designer.

Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

(Унаследовано от Component)
Notification

Получает или задает значение, указывающее объект SqlNotificationRequest, связанный с данной командой.

NotificationAutoEnlist

Возвращает или задает значение, указывающее, должно ли приложение автоматически получать уведомления о запросах от общего объекта SqlDependency.

Parameters

Возвращает набор SqlParameterCollection.

Site

Получает или задает ISite объекта Component.

(Унаследовано от Component)
Transaction

Возвращает или задает транзакцию SqlTransaction, в которой выполняется команда SqlCommand.

UpdatedRowSource

Возвращает или задает способ применения результатов команды к при DataRow использовании методом Update объекта DbDataAdapter.

Методы

BeginExecuteNonQuery()

Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Инициализирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand, получая процедуру обратного вызова и данные о состоянии.

BeginExecuteReader()

Инициирует асинхронное выполнение инструкции или хранимой процедуры Transact-SQL, описанной в данном объекте SqlCommand, и получает от сервера один или несколько результирующих наборов.

BeginExecuteReader(AsyncCallback, Object)

Инициализирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand, и получает от сервера один или более результирующих наборов при наличии процедуры обратного вызова и сведений о состоянии.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand, используя одно из значений CommandBehavior, и получает от сервера один или более результирующих наборов; принимает процедуру обратного вызова и информацию о состоянии.

BeginExecuteReader(CommandBehavior)

Инициализирует асинхронное выполнение инструкции или хранимой процедуры Transact-SQL, описанной в данном объекте SqlCommand, с использованием одного из значений CommandBehavior.

BeginExecuteXmlReader()

Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand, и возвращает результаты в виде объекта XmlReader.

BeginExecuteXmlReader(AsyncCallback, Object)

Инициирует асинхронное выполнение инструкции Transact-SQL или хранимой процедуры, определенной в данном объекте SqlCommand, и возвращает результаты в виде объекта XmlReader, используя процедуру обратного вызова.

Cancel()

Пытается отменить выполнение SqlCommand.

Clone()

Создает новый объект SqlCommand, который является копией текущего экземпляра.

CreateDbParameter()

Создает новый экземпляр объекта DbParameter.

(Унаследовано от DbCommand)
CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
CreateParameter()

Создает новый экземпляр объекта SqlParameter.

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от DbCommand)
Dispose()

Освобождает все ресурсы, занятые модулем Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом DbCommand, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от DbCommand)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от Component)
DisposeAsync()

Асинхронно размещает объект команды.

(Унаследовано от DbCommand)
EndExecuteNonQuery(IAsyncResult)

Завершает асинхронное выполнение инструкции Transact-SQL.

EndExecuteReader(IAsyncResult)

Завершает асинхронное выполнение инструкции Transact-SQL, возвращающей запрошенный SqlDataReader.

EndExecuteXmlReader(IAsyncResult)

Завершает асинхронное выполнение инструкции Transact-SQL, возвращающей запрошенные данные в виде XML.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
ExecuteDbDataReader(CommandBehavior)

Выполняет команду для подключения, возвращая DbDataReader объект , который можно использовать для доступа к результатам.

(Унаследовано от DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Поставщики должны реализовать этот метод, чтобы предоставить реализацию, отличную от реализации по умолчанию, для перегрузок ExecuteReader.

Реализация по умолчанию вызывает синхронный метод ExecuteReader() и возвращает завершенную задачу, блокируя вызывающий поток. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный токен отмены. Исключения, создаваемые ExecuteReader, будут связаны через возвращаемое свойство исключения задачи.

Этот метод принимает токен отмены, который может использоваться для запроса ранней отмены операции. Реализации могут игнорировать данный запрос.

(Унаследовано от DbCommand)
ExecuteNonQuery()

Выполняет для подключения инструкцию Transact-SQL и возвращает количество задействованных в инструкции строк.

ExecuteNonQueryAsync()

Асинхронная версия ExecuteNonQuery(), которая выполняет команду для объекта подключения, возвращая количество затронутых строк.

Вызывает ExecuteNonQueryAsync(CancellationToken) с CancellationToken.None.

(Унаследовано от DbCommand)
ExecuteNonQueryAsync(CancellationToken)

Асинхронная версия ExecuteNonQuery(), которая выполняет инструкцию Transact-SQL для подключения и возвращает количество затронутых строк. Токен отмены можно использовать для запроса отказа от операции до истечения времени ожидания команды. Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteNonQueryAsync(CancellationToken)

Это асинхронная версия метода ExecuteNonQuery(). Поставщики должны выполнить переопределение с помощью соответствующей реализации. При необходимости можно игнорировать токен отмены.

Реализация по умолчанию вызывает синхронный метод ExecuteNonQuery() и возвращает завершенную задачу, блокируя вызывающий поток. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный токен отмены. Исключения, создаваемые ExecuteNonQuery(), будут связаны через возвращаемое свойство исключения задачи.

Не вызывайте другие методы и свойства объекта DbCommand до тех пор, пока возвращаемая задача не будет завершена.

(Унаследовано от DbCommand)
ExecuteReader()

Отправляет CommandText в Connection и строит SqlDataReader.

ExecuteReader(CommandBehavior)

Отправляет CommandText в Connection и формирует SqlDataReader с помощью одного из значений CommandBehavior.

ExecuteReaderAsync()

Асинхронная версия ExecuteReader(), которая отправляет CommandText в Connection и создает SqlDataReader. Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteReaderAsync()

Асинхронная версия ExecuteReader, которая выполняет команду для своего подключения, возвращая DbDataReader объект , который можно использовать для доступа к результатам.

Вызывает ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) с CancellationToken.None.

(Унаследовано от DbCommand)
ExecuteReaderAsync(CancellationToken)

Асинхронная версия ExecuteReader(), которая отправляет CommandText в Connection и создает SqlDataReader.

Токен отмены можно использовать для запроса отказа от операции до истечения времени ожидания команды. Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteReaderAsync(CancellationToken)

Асинхронная версия ExecuteReader, которая выполняет команду для своего подключения, возвращая DbDataReader объект , который можно использовать для доступа к результатам.

Вызывает ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Унаследовано от DbCommand)
ExecuteReaderAsync(CommandBehavior)

Асинхронная версия ExecuteReader(CommandBehavior), которая отправляет CommandText в Connection и создает SqlDataReader. Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteReaderAsync(CommandBehavior)

Асинхронная версия ExecuteReader, которая выполняет команду для своего подключения, возвращая DbDataReader объект , который можно использовать для доступа к результатам.

Вызывает ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Унаследовано от DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

Асинхронная версия ExecuteReader(CommandBehavior), которая отправляет CommandText в Connection и создает SqlDataReader.

Токен отмены можно использовать для запроса отказа от операции до истечения времени ожидания команды. Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Вызывает ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Унаследовано от DbCommand)
ExecuteScalar()

Выполняет запрос и возвращает первый столбец первой строки в результирующий набор, возвращенный запросом. Такие же дополнительные столбцы также определены.

ExecuteScalarAsync()

Асинхронная версия ExecuteScalar(), которая выполняет команду и возвращает первый столбец первой строки в первом возвращенном результирующем наборе. Все остальные столбцы, строки и результирующие наборы игнорируются.

Вызывает ExecuteScalarAsync(CancellationToken) с CancellationToken.None.

(Унаследовано от DbCommand)
ExecuteScalarAsync(CancellationToken)

Асинхронная версия метода ExecuteScalar(), которая выполняет запрос асинхронно и возвращает первый столбец первой строки в наборе результатов, возвращаемых запросом. Такие же дополнительные столбцы также определены.

Токен отмены можно использовать для запроса отказа от операции до истечения времени ожидания команды. Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteScalarAsync(CancellationToken)

Это асинхронная версия метода ExecuteScalar(). Поставщики должны выполнить переопределение с помощью соответствующей реализации. При необходимости можно игнорировать токен отмены.

Реализация по умолчанию вызывает синхронный метод ExecuteScalar() и возвращает завершенную задачу, блокируя вызывающий поток. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный токен отмены. Исключения, создаваемые ExecuteScalar, будут связаны через возвращаемое свойство исключения задачи.

Не вызывайте другие методы и свойства объекта DbCommand до тех пор, пока возвращаемая задача не будет завершена.

(Унаследовано от DbCommand)
ExecuteXmlReader()

Отправляет CommandText в Connection и строит объект XmlReader.

ExecuteXmlReaderAsync()

Асинхронная версия ExecuteXmlReader(), которая отправляет CommandText в Connection и создает объект XmlReader.

Сведения об исключениях передаются в возвращенном объекте Task.

ExecuteXmlReaderAsync(CancellationToken)

Асинхронная версия ExecuteXmlReader(), которая отправляет CommandText в Connection и создает объект XmlReader.

Токен отмены можно использовать для запроса отказа от операции до истечения времени ожидания команды. Сведения об исключениях передаются в возвращенном объекте Task.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.

(Унаследовано от Component)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
Prepare()

Создает подготовленную версию команды на экземпляре SQL Server.

PrepareAsync(CancellationToken)

Асинхронно создает подготовленную (или скомпилированную) версию команды в источнике данных.

(Унаследовано от DbCommand)
ResetCommandTimeout()

Восстанавливает значение по умолчанию свойства CommandTimeout.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
ToString()

Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять.

(Унаследовано от Component)

События

Disposed

Возникает при удалении компонента путем вызова метода Dispose().

(Унаследовано от Component)
StatementCompleted

Генерируется по завершении выполнения инструкции Transact-SQL.

Явные реализации интерфейса

ICloneable.Clone()

Создает новый объект SqlCommand, который является копией текущего экземпляра.

IDbCommand.Connection

Возвращает или задает объект IDbConnection, используемый этим экземпляром класса IDbCommand.

(Унаследовано от DbCommand)
IDbCommand.CreateParameter()

Создает новый экземпляр объекта SqlParameter.

IDbCommand.CreateParameter()

Создает новый экземпляр объекта IDbDataParameter .

(Унаследовано от DbCommand)
IDbCommand.ExecuteReader()

Отправляет свойство CommandText свойству Connection и создает SqlDataReader.

IDbCommand.ExecuteReader()

Выполняет CommandText применительно к объекту Connection и создает IDataReader.

(Унаследовано от DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Отправляет CommandText в Connection и формирует SqlDataReader с помощью одного из значений CommandBehavior.

IDbCommand.ExecuteReader(CommandBehavior)

Выполняет CommandText применительно к объекту Connection и создает IDataReader с помощью одного из значений CommandBehavior.

(Унаследовано от DbCommand)
IDbCommand.Parameters

Возвращает набор IDataParameterCollection.

(Унаследовано от DbCommand)
IDbCommand.Transaction

Возвращает или задает контекст DbTransaction, в котором выполняется этот объект DbCommand.

(Унаследовано от DbCommand)

Применяется к

См. также раздел