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
- Наследование
- Наследование
- Наследование
- Реализации
Примеры
В следующем примере создается , 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процедурой, с помощью одного из |
| 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) |