Sdílet prostřednictvím


SqlCommand Třída

Definice

Představuje příkaz Transact-SQL nebo uloženou proceduru, která se má provést v databázi SQL Serveru. Tuto třídu nelze zdědit.

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
Dědičnost
SqlCommand
Dědičnost
Dědičnost
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.

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 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 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 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árováno s voláním EndExecuteNonQuery, které dokončí operaci, obvykle na 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árováno s voláním EndExecuteReader, které dokončí operaci, obvykle na 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.

Poznámka:

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
CanRaiseEvents

Získá hodnotu urč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ž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.

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.

Container

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

(Zděděno od Component)
DbConnection

Získá nebo nastaví DbConnection používané 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 se tento DbCommand objekt spustí.

(Zděděno od DbCommand)
DesignMode

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

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

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 určující, zda aplikace má automaticky přijímat oznámení dotazu z běžného SqlDependency objektu.

Parameters

SqlParameterCollectionZíská .

Site

Získá nebo nastaví ISite .Component

(Zděděno od Component)
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í při DataRow použití update metoda .DbDataAdapter

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)

Iniciuje asynchronní spuštění příkazu Transact-SQL nebo uložené procedury, která je popsána tímto SqlCommandzpůsobem , pomocí jedné z CommandBehavior hodnot a načtení jedné nebo více sad výsledků ze serveru, vzhledem k tomu, že procedura zpětného volání a informace o stavu.

BeginExecuteReader(AsyncCallback, Object)

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 s ohledem na proceduru zpětného volání a informace o stavu.

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.

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 serveru sloužícího ke komunikaci se vzdáleným objektem.

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

Vytvoří novou instanci objektu SqlParameter .

Dispose()

Provádí úlohy definované aplikací související s uvolněním, 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 a volitelně uvolní spravované prostředky.

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

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

(Zděděno od Component)
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žadovaný SqlDataReaderpříkaz .

EndExecuteXmlReader(IAsyncResult)

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

Equals(Object)

Určuje, zda je zadaný objekt roven 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ý se dá použít pro přístup k výsledkům.

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

Poskytovatelé by měli tuto metodu implementovat, aby poskytovali ne výchozí implementaci přetížení 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šený úkol, pokud už byl zrušený token zrušení. Výjimky vyvolané ExecuteReader budou oznámeny prostřednictvím vrácené Task Exception vlastnost.

Tato metoda přijímá token zrušení, který lze použít k vyžádání operace, aby byla zrušena dříve. Implementace můžou tento požadavek ignorovat.

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

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

ExecuteNonQueryAsync()

Asynchronní verze ExecuteNonQuery(), která spustí příkaz proti jeho objektu připojení, vrací počet ovlivněných řádků.

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

(Zděděno od DbCommand)
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 na Connection, a sestavení 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 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()

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

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

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

Načte objekt služby aktuální životnosti, 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 jeho Container.

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

Získá Type aktuální instance.

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

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

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

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

(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 Serveru.

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

Name Description
Disposed

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

(Zděděno od Component)
StatementCompleted

Nastane, když se dokončí provádění příkazu Transact-SQL.

Explicitní implementace rozhraní

Name Description
ICloneable.Clone()

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

IDbCommand.Connection

Získá nebo nastaví IDbConnection používané touto instancí 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()

Odešle na CommandText adresu Connectiona vytvoří SqlDataReader.

IDbCommand.ExecuteReader()

Provede proti CommandTextConnection a sestaví IDataReader.

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

Odešle hodnotu do objektu CommandTextConnectiona vytvoří SqlDataReader jednu z CommandBehavior hodnot.

IDbCommand.ExecuteReader(CommandBehavior)

Provede proti objektu CommandTextConnectiona vytvoří IDataReader pomocí jedné z CommandBehavior hodnot.

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

IDataParameterCollectionZíská .

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

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

(Zděděno od DbCommand)

Platí pro

Viz také