Поделиться через


SqlCommand Класс

Определение

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

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

Примеры

В следующем примере создается , a SqlConnectionSqlCommandи a 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:

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

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

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

Замечание

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

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

Имя Описание
SqlCommand()

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

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

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

SqlCommand(String, SqlConnection, SqlTransaction)

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

SqlCommand(String, SqlConnection)

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

SqlCommand(String)

Инициализирует новый экземпляр 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.

Events

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

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

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

NotificationAutoEnlist

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

Parameters

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

Site

Возвращает или задает ISite объект Component.

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

Возвращает или задает объект SqlTransaction , SqlCommand в пределах которого выполняется.

UpdatedRowSource

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

Методы

Имя Описание
BeginExecuteNonQuery()

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

BeginExecuteNonQuery(AsyncCallback, Object)

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

BeginExecuteReader()

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

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

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

BeginExecuteReader(AsyncCallback, Object)

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

BeginExecuteReader(CommandBehavior)

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

BeginExecuteXmlReader()

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

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)
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.

ExecuteReader()

Отправляет объект CommandTextConnection в и создает объект SqlDataReader.

ExecuteReader(CommandBehavior)

Отправляет объект в CommandText приложение и создает SqlDataReader одно из значений CommandBehaviorConnection.

ExecuteReaderAsync()

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

ExecuteReaderAsync(CancellationToken)

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

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

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Асинхронная версия ExecuteReader(CommandBehavior), которая отправляет объект CommandTextConnectionв и создает SqlDataReader

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

ExecuteReaderAsync(CommandBehavior)

Асинхронная версия ExecuteReader(CommandBehavior), которая отправляет объект CommandTextConnectionв и создает объект SqlDataReader. Исключения будут сообщаться с помощью возвращаемого объекта Task.

ExecuteScalar()

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

ExecuteScalarAsync()

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

Вызывается ExecuteScalarAsync(CancellationToken) с помощью CancellationToken.None.

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

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

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

ExecuteXmlReader()

Отправляет объект CommandTextConnection и создает XmlReader объект.

ExecuteXmlReaderAsync()

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

Исключения будут сообщаться с помощью возвращаемого объекта Task.

ExecuteXmlReaderAsync(CancellationToken)

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

Маркер отмены можно использовать для запроса на то, что операция будет прекращена до истечения времени ожидания команды. Исключения будут сообщаться с помощью возвращаемого объекта 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.

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()

Отправляет объект CommandTextConnectionв и создает объект SqlDataReader.

IDbCommand.ExecuteReader()

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

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

Отправляет объект в CommandText приложение и создает SqlDataReader одно из значений CommandBehaviorConnection.

IDbCommand.ExecuteReader(CommandBehavior)

CommandText Выполняет против и Connectionсоздает IDataReader одно из CommandBehavior значений.

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

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

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

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

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

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

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