Share via


SqlCommand Třída

Definice

Představuje transact-SQL příkaz nebo uložená procedura provést proti SQL Server databáze. Tuto třídu nelze dě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, SqlCommanda .SqlDataReader Příklad čte data a zapisuje je do konzoly. Nakonec příklad zavře SqlDataReader a pak při SqlConnection opouští bloky Using 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 sqlcommand objekty.

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í:

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 objektu SqlCommand jsou vlastnosti pro čtení a zápis nastaveny na počáteční hodnoty. Seznam těchto hodnot naleznete v konstruktoru SqlCommand .

SqlCommandobsahuje následující metody pro spouštění příkazů v databázi SQL Server:

Položka Popis
BeginExecuteNonQuery Inicializuje asynchronní spuštění transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand, obecně spouštění příkazů, jako jsou INSERT, DELETE, UPDATE a SET příkazy. Každé volání BeginExecuteNonQuery musí být spárováno s voláním EndExecuteNonQuery , které dokončí operaci, obvykle v samostatném vlákně.
BeginExecuteReader Inicializuje asynchronní provádění transact-SQL příkaz nebo uložená procedura, která je popsána tímto SqlCommand a načte jednu nebo více sad výsledků ze serveru. Každé volání BeginExecuteReader musí být spárováno s voláním EndExecuteReader , které dokončí operaci, obvykle v samostatném vlákně.
BeginExecuteXmlReader Inicializuje asynchronní provádění transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand. Každé volání BeginExecuteXmlReader musí být spárováno s voláním EndExecuteXmlReader, které dokončí operaci, obvykle v 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. ExecuteReader Proto nemusí mít požadovaný účinek, pokud se používá k provádění příkazů, jako jsou příkazy Transact-SQL 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 Odešle objekt CommandText do objektu Connection a vytvoří XmlReader objekt .

Vlastnost můžete resetovat CommandText a objekt znovu použít SqlCommand . Před spuštěním SqlDataReader nového nebo předchozího příkazu je však nutné zavřít 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.

Poznámka

Zprostředkovatel dat rozhraní .NET Framework nepodporuje parametry bez názvu, označované také jako řadové parametry pro SQL Server.

Konstruktory

SqlCommand()

Inicializuje novou instanci SqlCommand třídy .

SqlCommand(String)

Inicializuje novou instanci SqlCommand třídy s textem dotazu.

SqlCommand(String, SqlConnection)

Inicializuje novou instanci SqlCommand třídy s textem dotazu a objektem SqlConnection .

SqlCommand(String, SqlConnection, SqlTransaction)

Inicializuje novou instanci SqlCommand třídy s textem dotazu , SqlConnection a SqlTransaction .

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Inicializuje novou instanci SqlCommand třídy se zadaným textem příkazu, připojením, transakcí a šifrování nastavení.

Vlastnosti

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í čekací dobu (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 označující, jak CommandText má být interpretována vlastnost.

Connection

Získá nebo nastaví SqlConnection používaná touto instancí objektu SqlCommand .

DesignTimeVisible

Získá nebo nastaví hodnotu označující, zda má být objekt příkazu viditelný v ovládacím prvku Návrhář formulářů systému Windows.

EnableOptimizedParameterBinding

Získá nebo nastaví hodnotu označující, zda příkaz objektu by měl optimalizovat výkon parametru zakázání Output 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 označující, zda má aplikace automaticky přijímat oznámení dotazu ze společného SqlDependency objektu.

Parameters

Získá .SqlParameterCollection

RetryLogicProvider

Získá nebo nastaví hodnotu, která určuje SqlRetryLogicBaseProvider objekt vázaný na tento příkaz.

Transaction

Získá nebo nastaví, SqlTransaction v rámci kterého se SqlCommand spustí.

UpdatedRowSource

Získá nebo nastaví, jak jsou použity výsledky příkazu při DataRow použití Update metoda DbDataAdapter.

Metody

BeginExecuteNonQuery()

Inicializuje asynchronní provádění transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand .

BeginExecuteNonQuery(AsyncCallback, Object)

Inicializuje asynchronní provádění Transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand , vzhledem k postupu zpětného volání a informace o stavu.

BeginExecuteReader()

Inicializuje asynchronní provádění Transact-SQL příkaz nebo uložená procedura, která je popsána a SqlCommand vrátí výsledky jako XmlReader objekt.

BeginExecuteReader(AsyncCallback, Object)

Inicializuje asynchronní spuštění transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand a vrátí výsledky jako XmlReader objekt pomocí procedury zpětného volání.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Inicializuje asynchronní provádění transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand , pomocí jednoho zCommandBehavior a načtení jedné nebo více sad výsledků ze serveru s ohledem na postup zpětného volání a informace o stavu.

BeginExecuteReader(CommandBehavior)

Inicializuje asynchronní spuštění Transact-SQL příkaz nebo uložená procedura, která je popsána pomocí SqlCommand jedné z CommandBehavior hodnot.

BeginExecuteXmlReader()

Inicializuje asynchronní provádění Transact-SQL příkaz nebo uložená procedura, která je popsána a SqlCommand vrátí výsledky jako XmlReader objekt.

BeginExecuteXmlReader(AsyncCallback, Object)

Inicializuje asynchronní spuštění transact-SQL příkaz nebo uložená procedura, která je popsána v tomto SqlCommand 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í provádění transact-SQL příkaz.

EndExecuteReader(IAsyncResult)

Dokončí asynchronní provádění příkazu jazyka Transact-SQL a vrátí požadovaný SqlDataReader příkaz .

EndExecuteXmlReader(IAsyncResult)

Dokončí asynchronní provádění příkazu jazyka Transact-SQL a vrátí požadovaná data ve formátu XML.

ExecuteNonQuery()

Provede proti připojení příkaz jazyka Transact-SQL a vrátí počet ovlivněných řádků.

ExecuteNonQueryAsync(CancellationToken)

Asynchronní verze ExecuteNonQuery() , která provádí transact-SQL příkaz proti připojení a vrací 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()

Odešle do CommandText a Connection vytvoří SqlDataReader .

ExecuteReader(CommandBehavior)

CommandText Odešle do Connection a vytvoří SqlDataReader pomocí jedné z CommandBehavior hodnot .

ExecuteReaderAsync()

Asynchronní verze nástroje 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 nástroje 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)

Asynchronní verze nástroje ExecuteReader(CommandBehavior) , která odešle CommandText do objektu Connection a vytvoří SqlDataReader . Výjimky budou hlášeny prostřednictvím vráceného objektu Task.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Asynchronní verze nástroje ExecuteReader(CommandBehavior) , která odešle CommandText objekt 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.

ExecuteScalar()

Spustí dotaz a vrátí první sloupec prvního řádku v sadě výsledků dotazu vrácené dotazem. Další sloupce nebo řádky jsou ignorovány.

ExecuteScalarAsync(CancellationToken)

Asynchronní verze nástroje ExecuteScalar() , která asynchronně spustí dotaz a vrátí první sloupec prvního řádku v sadě výsledků dotazu vrácené dotazem. Další sloupce nebo řádky jsou ignorovány.

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

Odešle objekt CommandText do objektu Connection a vytvoří XmlReader objekt .

ExecuteXmlReaderAsync()

Asynchronní verze nástroje ExecuteXmlReader() , která odesílá CommandText objekt do objektu Connection a vytváří XmlReader objekt .

Výjimky budou hlášeny prostřednictvím vráceného objektu Task.

ExecuteXmlReaderAsync(CancellationToken)

Asynchronní verze nástroje ExecuteXmlReader() , která odesílá CommandText objekt do objektu Connection a vytváří 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 Server.

RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)

Zaregistruje poskytovatele ú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>) metod nebo RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) . Tuto funkci je možné volat více než jednou. Tím se slovník zkopíruje jen povrchně, aby aplikace nemohla po nastavení změnit seznam vlastních zprostředkovatelů.

ResetCommandTimeout()

CommandTimeout Obnoví vlastnost na výchozí hodnotu.

Událost

StatementCompleted

Vyvolá se při provádění transact-SQL příkaz dokončit.

Explicitní implementace rozhraní

ICloneable.Clone()

Představuje transact-SQL příkaz nebo uložená procedura provést proti SQL Server databáze. Tuto třídu nelze dědit.

Platí pro