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 ref class SqlCommand sealed : System::Data::Common::DbCommand
public ref class SqlCommand sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbCommand
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
public sealed class SqlCommand : System.Data.Common.DbCommand
public sealed class SqlCommand : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbCommand
type SqlCommand = class
    inherit DbCommand
    interface ICloneable
type SqlCommand = class
    inherit DbCommand
type SqlCommand = class
    inherit Component
    interface IDbCommand
    interface IDisposable
    interface ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Public NotInheritable Class SqlCommand
Inherits Component
Implements ICloneable, IDbCommand, IDisposable
Dědičnost
SqlCommand
Dědičnost
Dědičnost
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.

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

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

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

SqlCommand(String, SqlConnection, SqlTransaction)

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

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

Vlastnosti

CanRaiseEvents

Získá hodnotu označující, zda komponenta může vyvolat událost.

(Zděděno od Component)
ColumnEncryptionSetting

Získá nebo nastaví nastavení šifrování sloupce pro tento příkaz.

CommandText

Získá nebo nastaví transact-SQL příkaz, název tabulky nebo uloženou proceduru 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.

CommandType

Získá nebo nastaví hodnotu označující, jak CommandText má být interpretována vlastnost.

Connection

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

Container

Získá objekt IContainer , který obsahuje Component.

(Zděděno od Component)
DbConnection

Získá nebo nastaví DbConnection použitý tímto DbCommand.

(Zděděno od DbCommand)
DbParameterCollection

Získá kolekci DbParameter objektů.

(Zděděno od DbCommand)
DbTransaction

Získá nebo nastaví, DbTransaction ve kterém tento DbCommand objekt provede.

(Zděděno od DbCommand)
DesignMode

Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component .

(Zděděno od Component)
DesignTimeVisible

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

Events

Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component.

(Zděděno od Component)
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

Site

Získá nebo nastaví ISite hodnotu Component.

(Zděděno od Component)
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()

Zahájí asynchronní spuštění příkazu Jazyka Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Zahájí asynchronní spuštění příkazu Jazyka Transact-SQL nebo uložené procedury, která je popsána v tomto SqlCommandobjektu , a to s ohledem na proceduru zpětného volání a informace o stavu.

BeginExecuteReader()

Zahájí asynchronní spuštění příkazu jazyka Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommanda načte jednu nebo více sad výsledků ze serveru.

BeginExecuteReader(AsyncCallback, Object)

Zahájí asynchronní spuštění příkazu Jazyka Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand a načte jednu nebo více sad výsledků ze serveru, vzhledem k postupu zpětného volání a informace o stavu.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Zahájí asynchronní spuštění příkazu Jazyka Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommandpříkazem , pomocí jedné z CommandBehavior hodnot a načtení jedné nebo více sad výsledků ze serveru, vzhledem k postupu zpětného volání a informací o stavu.

BeginExecuteReader(CommandBehavior)

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

BeginExecuteXmlReader()

Zahájí asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommand a vrátí výsledky jako XmlReader objekt.

BeginExecuteXmlReader(AsyncCallback, Object)

Zahájí asynchronní spuštění příkazu Jazyka 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 provádění SqlCommandpříkazu .

Clone()

Vytvoří nový SqlCommand objekt, který je kopií aktuální instance.

CreateDbParameter()

Vytvoří novou instanci objektu DbParameter .

(Zděděno od DbCommand)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
CreateParameter()

Vytvoří novou instanci objektu SqlParameter .

Dispose()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

(Zděděno od DbCommand)
Dispose()

Uvolní všechny prostředky používané nástrojem Component.

(Zděděno od Component)
Dispose(Boolean)

Uvolní nespravované prostředky používané DbCommand nástrojem a volitelně uvolní spravované prostředky.

(Zděděno od DbCommand)
Dispose(Boolean)

Uvolní nespravované prostředky používané Component nástrojem a volitelně uvolní spravované prostředky.

(Zděděno od Component)
DisposeAsync()

Asynchronně rozdělí objekt příkazu.

(Zděděno od DbCommand)
EndExecuteNonQuery(IAsyncResult)

Dokončí asynchronní spuštění příkazu Jazyka Transact-SQL.

EndExecuteReader(IAsyncResult)

Dokončí asynchronní spuštění příkazu Jazyka Transact-SQL a vrátí požadovaný SqlDataReaderpříkaz .

EndExecuteXmlReader(IAsyncResult)

Dokončí asynchronní spuštění příkazu Jazyka Transact-SQL a vrátí požadovaná data jako XML.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
ExecuteDbDataReader(CommandBehavior)

Spustí příkaz proti jeho připojení a vrátí DbDataReader příkaz, který lze použít pro přístup k výsledkům.

(Zděděno od DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Zprostředkovatelé by měli implementovat tuto metodu, aby poskytovala pro přetížení jinou než výchozí implementaci ExecuteReader .

Výchozí implementace vyvolá synchronní ExecuteReader() metodu a vrátí dokončenou úlohu, která blokuje volající vlákno. Výchozí implementace vrátí zrušenou úlohu, pokud je předán již zrušený token zrušení. Výjimky vyvolané nástrojem ExecuteReader budou sděleny prostřednictvím vlastnosti vrácené výjimky úlohy.

Tato metoda přijímá token zrušení, který lze použít k žádosti o předčasné zrušení operace. Implementace můžou tento požadavek ignorovat.

(Zděděno od DbCommand)
ExecuteNonQuery()

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

ExecuteNonQueryAsync()

Asynchronní verze nástroje ExecuteNonQuery(), která provede příkaz proti objektu připojení a vrátí počet ovlivněných řádků.

Vyvolá pomocí ExecuteNonQueryAsync(CancellationToken) CancellationToken.None.

(Zděděno od DbCommand)
ExecuteNonQueryAsync(CancellationToken)

Asynchronní verze nástroje ExecuteNonQuery(), která spustí příkaz Jazyka Transact-SQL proti připojení a vrátí počet ovlivněných řádků. Token zrušení lze použít k žádosti o opuštění operace před vypršením časového limitu příkazu. Výjimky budou hlášeny prostřednictvím vráceného objektu Task.

ExecuteNonQueryAsync(CancellationToken)

Toto je asynchronní verze nástroje ExecuteNonQuery(). Poskytovatelé by měli přepsat příslušnou implementací. Token zrušení může být volitelně ignorován.

Výchozí implementace vyvolá synchronní ExecuteNonQuery() metodu a vrátí dokončenou úlohu, která blokuje volající vlákno. Výchozí implementace vrátí zrušenou úlohu, pokud je předán již zrušený token zrušení. Výjimky vyvolané nástrojem ExecuteNonQuery() budou sděleny prostřednictvím vrácené vlastnosti Výjimka úkolu.

Nevyvolávej jiné metody a vlastnosti objektu DbCommand , dokud nebude dokončena vrácená úloha.

(Zděděno od DbCommand)
ExecuteReader()

Odešle do CommandTextConnection a vytvoří SqlDataReader.

ExecuteReader(CommandBehavior)

Odešle hodnotu CommandText do a vytvoří SqlDataReader pomocí jedné z CommandBehaviorConnectionhodnot.

ExecuteReaderAsync()

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

ExecuteReaderAsync()

Asynchronní verze nástroje ExecuteReader, která spustí příkaz proti svému připojení a vrátí DbDataReader příkaz, který lze použít pro přístup k výsledkům.

Vyvolá pomocí ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) CancellationToken.None.

(Zděděno od DbCommand)
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(CancellationToken)

Asynchronní verze nástroje ExecuteReader, která spustí příkaz proti svému připojení a vrátí DbDataReader příkaz, který lze použít pro přístup k výsledkům.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)Vyvolá .

(Zděděno od DbCommand)
ExecuteReaderAsync(CommandBehavior)

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

ExecuteReaderAsync(CommandBehavior)

Asynchronní verze nástroje ExecuteReader, která spustí příkaz proti svému připojení a vrátí DbDataReader příkaz, který lze použít pro přístup k výsledkům.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)Vyvolá .

(Zděděno od DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

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

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)Vyvolá .

(Zděděno od DbCommand)
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()

Asynchronní verze nástroje ExecuteScalar(), která spustí příkaz a vrátí první sloupec prvního řádku v první vrácené sadě výsledků. Všechny ostatní sloupce, řádky a sady výsledků se ignorují.

Vyvolá pomocí ExecuteScalarAsync(CancellationToken) CancellationToken.None.

(Zděděno od DbCommand)
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.

ExecuteScalarAsync(CancellationToken)

Toto je asynchronní verze nástroje ExecuteScalar(). Poskytovatelé by měli přepsat příslušnou implementací. Token zrušení může být volitelně ignorován.

Výchozí implementace vyvolá synchronní ExecuteScalar() metodu a vrátí dokončenou úlohu, která blokuje volající vlákno. Výchozí implementace vrátí zrušenou úlohu, pokud je předán již zrušený token zrušení. Výjimky vyvolané nástrojem ExecuteScalar budou sděleny prostřednictvím vrácené vlastnosti Task Exception.

Nevyvolávej jiné metody a vlastnosti objektu DbCommand , dokud nebude dokončena vrácená úloha.

(Zděděno od DbCommand)
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.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetService(Type)

Vrátí objekt, který představuje službu poskytovanou objektem Component nebo .Container

(Zděděno od Component)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
Prepare()

Vytvoří připravenou verzi příkazu v instanci SQL Server.

PrepareAsync(CancellationToken)

Asynchronně vytvoří připravenou (nebo zkompilovanou) verzi příkazu ve zdroji dat.

(Zděděno od DbCommand)
ResetCommandTimeout()

CommandTimeout Obnoví vlastnost na výchozí hodnotu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
ToString()

String Vrátí hodnotu obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána.

(Zděděno od Component)

Událost

Disposed

Nastane, když je komponenta odstraněna voláním Dispose() metody.

(Zděděno od Component)
StatementCompleted

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

Explicitní implementace rozhraní

ICloneable.Clone()

Vytvoří nový SqlCommand objekt, který je kopií aktuální instance.

IDbCommand.Connection

Získá nebo nastaví použitou IDbConnection touto instancí objektu IDbCommand.

(Zděděno od DbCommand)
IDbCommand.CreateParameter()

Vytvoří novou instanci objektu SqlParameter .

IDbCommand.CreateParameter()

Vytvoří novou instanci objektu IDbDataParameter .

(Zděděno od DbCommand)
IDbCommand.ExecuteReader()

CommandText Odešle do Connectiona vytvoří SqlDataReader.

IDbCommand.ExecuteReader()

Spustí proti CommandTextConnection a vytvoří IDataReader.

(Zděděno od DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

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

IDbCommand.ExecuteReader(CommandBehavior)

Spustí proti CommandTextConnectiona vytvoří IDataReader objekt pomocí jedné z CommandBehavior hodnot.

(Zděděno od DbCommand)
IDbCommand.Parameters

Získá .IDataParameterCollection

(Zděděno od DbCommand)
IDbCommand.Transaction

Získá nebo nastaví, DbTransaction ve kterém tento DbCommand objekt provede.

(Zděděno od DbCommand)

Platí pro

Viz také