SqlCommand Třída

Definice

Představuje transact-SQL příkaz nebo uložená procedura provést proti SQL Server databáze. Tato třída se nemůže 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í provádě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í spuště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 do objektu CommandTextConnection 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 však musíte 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ázvů, označované také jako řadové, 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 , SqlConnectiona 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

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

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.

Container

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

(Zděděno od Component)
DbConnection

Získá nebo nastaví DbConnection používaná tímto DbCommandobjektem .

(Zděděno od DbCommand)
DbParameterCollection

Získá kolekci DbParameter objektů.

(Zděděno od DbCommand)
DbTransaction

Získá nebo nastaví, DbTransaction v rámci kterého se tento DbCommand objekt spustí.

(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 označující, zda příkaz objektu by měl být viditelný v Designer ovládacího prvku formuláře 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 z 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()

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 tímto SqlCommanda načte jednu nebo více sad výsledků ze serveru.

BeginExecuteReader(AsyncCallback, Object)

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, vzhledem k postupu zpětného volání a informace o stavu.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

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

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í zpětné volání procedura.

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 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é nástrojem DbCommand a volitelně uvolní spravované prostředky.

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

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

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

Asynchronně rozloží objekt příkazu.

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

EndExecuteXmlReader(IAsyncResult)

Dokončí asynchronní provádění příkazu jazyka Transact-SQL a vrátí požadovaná data ve formátu 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 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 jinou 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šenou úlohu, pokud je předán již 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 žádosti o předčasné zrušení operace. Implementace můžou tento požadavek ignorovat.

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

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

ExecuteNonQueryAsync()

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

ExecuteNonQueryAsync(CancellationToken) Vyvolá s CancellationToken.None.

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

ExecuteNonQueryAsync(CancellationToken)

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

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 oznámeny prostřednictvím vrácené vlastnosti Task Exception (Výjimka úkolu).

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

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

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

ExecuteReader(CommandBehavior)

CommandText Odešle do Connectiona 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()

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

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) Vyvolá s 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í objekt , DbDataReader 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 do objektu 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í objekt , DbDataReader 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í.

ExecuteScalarAsync(CancellationToken) Vyvolá s 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í se může volitelně ignorovat.

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é executeScalar budou oznámeny prostřednictvím vrácené task exception vlastnost.

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

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

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

ExecuteXmlReaderAsync()

Asynchronní verze nástroje ExecuteXmlReader(), která odesílá CommandText objekt do objektu Connection a sestaví 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 sestaví 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 , Componentpokud existuje. Tato metoda by neměla být přepsána.

(Zděděno od Component)

Událost

Disposed

Vyvolá se, když je komponenta uvolně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í IDbConnection používaná 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()

CommandText Spustí proti objektu Connection 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)

CommandText Spustí proti objektu Connectiona sestaví 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 v rámci kterého se tento DbCommand objekt spustí.

(Zděděno od DbCommand)

Platí pro

Viz také