SqlCommand Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje příkaz Transact-SQL nebo uloženou proceduru, která se má provést pro SQL Server databázi. Tuto třídu nelze zdědit.
public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
type SqlCommand = class
inherit DbCommand
interface ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
- Dědičnost
-
SqlCommand
- Implementuje
Příklady
Následující příklad vytvoří SqlConnection, a SqlCommand, a a SqlDataReader. Příklad čte data a zapisuje je do konzoly. Nakonec příklad zavře SqlDataReader a pak SqlConnection při ukončení Using bloků kódu.
using System;
using System.Data;
using Microsoft.Data.SqlClient;
namespace SqlCommandCS
{
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(
queryString, connection);
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
}
}
Následující ukázka ukazuje, jak vytvořit a spustit různé typy objektů SqlCommand.
Nejprve musíte vytvořit ukázkovou databázi spuštěním následujícího skriptu:
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
Dále zkompilujte a spusťte následující příkaz:
using System;
using System.Data;
using Microsoft.Data.SqlClient;
using System.Threading.Tasks;
class Program
{
static class SqlHelper
{
// Set the connection, command, and then execute the command with non query.
public static Int32 ExecuteNonQuery(String connectionString, String commandText,
CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
// There're three command types: StoredProcedure, Text, TableDirect. The TableDirect
// type is only for OLE DB.
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
conn.Open();
return cmd.ExecuteNonQuery();
}
}
}
// Set the connection, command, and then execute the command and only return one value.
public static Object ExecuteScalar(String connectionString, String commandText,
CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
conn.Open();
return cmd.ExecuteScalar();
}
}
}
// Set the connection, command, and then execute the command with query and return the reader.
public static SqlDataReader ExecuteReader(String connectionString, String commandText,
CommandType commandType, params SqlParameter[] parameters)
{
SqlConnection conn = new SqlConnection(connectionString);
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
conn.Open();
// When using CommandBehavior.CloseConnection, the connection will be closed when the
// IDataReader is closed.
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
}
}
static void Main(string[] args)
{
String connectionString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True;";
CountCourses(connectionString, 2012);
Console.WriteLine();
Console.WriteLine("Following result is the departments that started from 2007:");
GetDepartments(connectionString, 2007);
Console.WriteLine();
Console.WriteLine("Add the credits when the credits of course is lower than 4.");
AddCredits(connectionString, 4);
Console.WriteLine();
Console.WriteLine("Please press any key to exit...");
Console.ReadKey();
}
static void CountCourses(String connectionString, Int32 year)
{
String commandText = "Select Count([CourseID]) FROM [MySchool].[dbo].[Course] Where Year=@Year";
SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int);
parameterYear.Value = year;
Object oValue = SqlHelper.ExecuteScalar(connectionString, commandText, CommandType.Text, parameterYear);
Int32 count;
if (Int32.TryParse(oValue.ToString(), out count))
Console.WriteLine("There {0} {1} course{2} in {3}.", count > 1 ? "are" : "is", count, count > 1 ? "s" : null, year);
}
// Display the Departments that start from the specified year.
static void GetDepartments(String connectionString, Int32 year)
{
String commandText = "dbo.GetDepartmentsOfSpecifiedYear";
// Specify the year of StartDate
SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int);
parameterYear.Value = year;
// When the direction of parameter is set as Output, you can get the value after
// executing the command.
SqlParameter parameterBudget = new SqlParameter("@BudgetSum", SqlDbType.Money);
parameterBudget.Direction = ParameterDirection.Output;
using (SqlDataReader reader = SqlHelper.ExecuteReader(connectionString, commandText,
CommandType.StoredProcedure, parameterYear, parameterBudget))
{
Console.WriteLine("{0,-20}{1,-20}{2,-20}{3,-20}", "Name", "Budget", "StartDate",
"Administrator");
while (reader.Read())
{
Console.WriteLine("{0,-20}{1,-20:C}{2,-20:d}{3,-20}", reader["Name"],
reader["Budget"], reader["StartDate"], reader["Administrator"]);
}
}
Console.WriteLine("{0,-20}{1,-20:C}", "Sum:", parameterBudget.Value);
}
// If credits of course is lower than the certain value, the method will add the credits.
static void AddCredits(String connectionString, Int32 creditsLow)
{
String commandText = "Update [MySchool].[dbo].[Course] Set Credits=Credits+1 Where Credits<@Credits";
SqlParameter parameterCredits = new SqlParameter("@Credits", creditsLow);
Int32 rows = SqlHelper.ExecuteNonQuery(connectionString, commandText, CommandType.Text, parameterCredits);
Console.WriteLine("{0} row{1} {2} updated.", rows, rows > 1 ? "s" : null, rows > 1 ? "are" : "is");
}
}
Poznámky
Při vytvoření instance SqlCommand jsou vlastnosti pro čtení a zápis nastaveny na počáteční hodnoty. Seznam těchto hodnot naleznete v konstruktoru SqlCommand .
SqlCommand funkce následujících metod pro spouštění příkazů v databázi SQL Serveru:
| Položka | Description |
|---|---|
| BeginExecuteNonQuery | Inicializuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommandzpůsobem , obecně spouštění příkazů, jako jsou INSERT, DELETE, UPDATE a SET příkazy. Každé volání BeginExecuteNonQuery musí být spárované s voláním, které EndExecuteNonQuery dokončí operaci, obvykle v samostatném vlákně. |
| BeginExecuteReader | Zahájí asynchronní spuštění příkazu Transact-SQL nebo uložené procedury popsané tímto SqlCommand příkazem a načte jednu nebo více sad výsledků ze serveru. Každé volání BeginExecuteReader musí být spárované s voláním, které EndExecuteReader dokončí operaci, obvykle v samostatném vlákně. |
| BeginExecuteXmlReader | Iniciuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand. Každé volání BeginExecuteXmlReader musí být spárováno s voláním EndExecuteXmlReader, které dokončí operaci, obvykle na samostatném vlákně, a vrátí XmlReader objekt. |
| ExecuteReader | Spustí příkazy, které vracejí řádky. Pro zvýšení výkonu ExecuteReader vyvolá příkazy pomocí uložené procedury Transact-SQL sp_executesql systému. Proto nemusí mít vliv, který chcete použít ke spouštění příkazů, ExecuteReader jako jsou Transact-SQL příkazy SET. |
| ExecuteNonQuery | Spouští příkazy, jako jsou příkazy Transact-SQL INSERT, DELETE, UPDATE a SET. |
| ExecuteScalar | Načte jednu hodnotu (například agregační hodnotu) z databáze. |
| ExecuteXmlReader | CommandText Odešle objekt a Connection vytvoří XmlReader objekt. |
Vlastnost můžete resetovat CommandText a znovu použít SqlCommand objekt. Před spuštěním nového nebo předchozího příkazu však musíte zavřít SqlDataReader příkaz.
SqlException Pokud je vygenerován metodou, která spouští SqlCommand, SqlConnection zůstane otevřen, pokud je úroveň závažnosti 19 nebo menší. Pokud je úroveň závažnosti 20 nebo vyšší, server obvykle zavře SqlConnection. Uživatel ale může znovu otevřít připojení a pokračovat.
Note
Zprostředkovatel dat rozhraní .NET Framework pro SQL Server nepodporuje parametry bez názvu, označované také jako pořadové číslo.
Konstruktory
| Name | Description |
|---|---|
| SqlCommand() |
Inicializuje novou instanci SqlCommand třídy. |
| SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) |
Inicializuje novou instanci SqlCommand třídy se zadaným textem příkazu, připojením, transakcí a nastavením šifrování. |
| SqlCommand(String, SqlConnection, SqlTransaction) |
Inicializuje novou instanci SqlCommand třídy s textem dotazu, a SqlConnectionSqlTransaction. |
| SqlCommand(String, SqlConnection) |
Inicializuje novou instanci SqlCommand třídy s textem dotazu a .SqlConnection |
| SqlCommand(String) |
Inicializuje novou instanci SqlCommand třídy s textem dotazu. |
Vlastnosti
| Name | Description |
|---|---|
| ColumnEncryptionSetting |
Získá nastavení šifrování sloupce pro tento příkaz. |
| CommandText |
Získá nebo nastaví Transact-SQL příkaz, název tabulky nebo uložená procedura ke spuštění ve zdroji dat. |
| CommandTimeout |
Získá nebo nastaví dobu čekání (v sekundách) před ukončením pokusu o spuštění příkazu a generování chyby. Výchozí hodnota je 30 sekund. |
| CommandType |
Získá nebo nastaví hodnotu určující, jak CommandText má být vlastnost interpretována. |
| Connection |
Získá nebo nastaví SqlConnection používané touto instancí SqlCommand. |
| DesignTimeVisible |
Získá nebo nastaví hodnotu určující, zda příkazový objekt by měl být viditelný v ovládacím prvku Windows Form Designer. |
| EnableOptimizedParameterBinding |
Získá nebo nastaví hodnotu určující, zda příkaz objekt by měl optimalizovat výkon parametru zakázáním výstupní a InputOutput směry při odeslání příkazu do SQL Server. |
| Notification |
Získá nebo nastaví hodnotu, která určuje SqlNotificationRequest objekt vázaný na tento příkaz. |
| NotificationAutoEnlist |
Získá nebo nastaví hodnotu určující, zda aplikace má automaticky přijímat oznámení dotazu z běžného SqlDependency objektu. |
| Parameters |
SqlParameterCollectionZíská . |
| RetryLogicProvider |
Získá nebo nastaví hodnotu, která určuje SqlRetryLogicBaseProvider objekt vázaný na tento příkaz. |
| Transaction |
Získá nebo nastaví, SqlTransaction ve kterém se SqlCommand provede. |
| UpdatedRowSource |
Získá nebo nastaví, jak se výsledky příkazu použijí na DataRow při použití |
Metody
| Name | Description |
|---|---|
| BeginExecuteNonQuery() |
Iniciuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand. |
| BeginExecuteNonQuery(AsyncCallback, Object) |
Iniciuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommandzpůsobem , zadanou procedurou zpětného volání a informace o stavu. |
| BeginExecuteReader() |
Zahájí asynchronní spuštění příkazu Transact-SQL nebo uložené procedury popsané tímto SqlCommandpříkazem a načte jednu nebo více sad výsledků ze serveru. |
| BeginExecuteReader(AsyncCallback, Object, CommandBehavior) |
Inicializuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand , pomocí jednoho z
|
| BeginExecuteReader(AsyncCallback, Object) |
Zahájí asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand způsobem, a vrátí výsledky jako XmlReader objekt pomocí procedury zpětného volání. |
| BeginExecuteReader(CommandBehavior) |
Inicializuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána pomocí SqlCommand jedné z CommandBehavior hodnot. |
| BeginExecuteXmlReader() |
Iniciuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand způsobem, a vrátí výsledky jako XmlReader objekt. |
| BeginExecuteXmlReader(AsyncCallback, Object) |
Zahájí asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand způsobem, a vrátí výsledky jako XmlReader objekt pomocí procedury zpětného volání. |
| Cancel() |
Pokusí se zrušit spuštění .SqlCommand |
| Clone() |
Vytvoří nový SqlCommand objekt, který je kopií aktuální instance. |
| CreateParameter() |
Vytvoří novou instanci objektu SqlParameter . |
| EndExecuteNonQuery(IAsyncResult) |
Dokončí asynchronní spuštění příkazu Transact-SQL. |
| EndExecuteReader(IAsyncResult) |
Dokončí asynchronní spuštění příkazu Transact-SQL a vrátí požadovanou SqlDataReader . |
| EndExecuteXmlReader(IAsyncResult) |
Dokončí asynchronní spuštění příkazu Transact-SQL a vrátí požadovaná data jako XML. |
| ExecuteNonQuery() |
Spustí příkaz Transact-SQL pro připojení a vrátí počet ovlivněných řádků. |
| ExecuteNonQueryAsync(CancellationToken) |
Asynchronní verze ExecuteNonQuery(), která spustí příkaz Transact-SQL vůči připojení a vrátí počet ovlivněných řádků. Token zrušení lze použít k vyžádání, aby byla operace zrušena před vypršením časového limitu příkazu. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteReader() |
CommandText Odešle zprávu a Connection vytvoří .SqlDataReader |
| ExecuteReader(CommandBehavior) |
Odešle hodnotu do objektu CommandTextConnectiona vytvoří SqlDataReader jednu z CommandBehavior hodnot. |
| ExecuteReaderAsync() |
Asynchronní verze ExecuteReader(), která odešle CommandText do Connection a vytvoří SqlDataReader. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteReaderAsync(CancellationToken) |
Asynchronní verze ExecuteReader(), která odešle CommandText do Connection a vytvoří SqlDataReader. Token zrušení lze použít k vyžádání, aby byla operace zrušena před vypršením časového limitu příkazu. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Asynchronní verze ExecuteReader(CommandBehavior), která odešle CommandText do Connectiona sestavení SqlDataReader tokenu zrušení lze použít k vyžádání, aby operace byla opuštěna před vypršením časového limitu příkazu. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteReaderAsync(CommandBehavior) |
Asynchronní verze ExecuteReader(CommandBehavior), která odešle CommandText na Connection, a sestavení .SqlDataReader Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteScalar() |
Spustí dotaz a vrátí první sloupec prvního řádku v sadě výsledků vrácených dotazem. Další sloupce nebo řádky se ignorují. |
| ExecuteScalarAsync(CancellationToken) |
Asynchronní verze ExecuteScalar(), která spustí dotaz asynchronně a vrátí první sloupec prvního řádku v sadě výsledků vrácených dotazem. Další sloupce nebo řádky se ignorují. Token zrušení lze použít k vyžádání, aby byla operace zrušena před vypršením časového limitu příkazu. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteXmlReader() |
CommandText Odešle objekt a Connection vytvoří XmlReader objekt. |
| ExecuteXmlReaderAsync() |
Asynchronní verze ExecuteXmlReader(), která odešle CommandText objektu Connection a vytvoří XmlReader objekt. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteXmlReaderAsync(CancellationToken) |
Asynchronní verze ExecuteXmlReader(), která odešle CommandText objektu Connection a vytvoří XmlReader objekt. Token zrušení lze použít k vyžádání, aby byla operace zrušena před vypršením časového limitu příkazu. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| Prepare() |
Vytvoří připravenou verzi příkazu v instanci SQL Serveru. |
| RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) |
Zaregistruje zprostředkovatele úložiště šifrovacích klíčů v SqlCommand instanci. Pokud byla tato funkce volána, budou ignorováni zprostředkovatelé zaregistrovaní pomocí RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) těchto RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) metod. Tuto funkci lze volat více než jednou. Tím se změní kopírování slovníku tak, aby aplikace nemohla po nastavení změnit vlastní seznam zprostředkovatelů. |
| ResetCommandTimeout() |
CommandTimeout Obnoví vlastnost na výchozí hodnotu. |
Událost
| Name | Description |
|---|---|
| StatementCompleted |
Nastane, když se dokončí provádění příkazu Transact-SQL. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICloneable.Clone() |
Představuje příkaz Transact-SQL nebo uloženou proceduru, která se má provést pro SQL Server databázi. Tuto třídu nelze zdědit. |