Udostępnij za pośrednictwem


SqlCommand Klasa

Definicja

Reprezentuje instrukcję Języka Transact-SQL lub procedurę składowaną do wykonania względem bazy danych SQL Server. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
SqlCommand
Dziedziczenie
Dziedziczenie
Implementuje

Przykłady

W poniższym przykładzie jest tworzony element SqlConnection, a SqlCommandi SqlDataReader. Przykład odczytuje dane, zapisuj je w konsoli. Na koniec przykład zamyka bloki SqlDataReaderUsing kodu, a następnie SqlConnection powoduje zamknięcie bloków kodu.

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

W poniższym przykładzie pokazano, jak utworzyć i wykonać różne typy obiektów SqlCommand.

Najpierw należy utworzyć przykładową bazę danych, wykonując następujący skrypt:

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

Następnie skompiluj i wykonaj następujące czynności:

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

Uwagi

Po utworzeniu SqlCommand wystąpienia właściwości odczytu/zapisu są ustawione na ich wartości początkowe. Aby uzyskać listę tych wartości, zobacz SqlCommand konstruktor.

SqlCommandfunkcje następujących metod wykonywania poleceń w bazie danych SQL Server:

Element Opis
BeginExecuteNonQuery Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym obiekcie SqlCommand, zazwyczaj wykonując polecenia, takie jak INSERT, DELETE, UPDATE i SET. Każde wywołanie musi BeginExecuteNonQuery być sparowane z wywołaniem, do EndExecuteNonQuery którego kończy operację, zazwyczaj w osobnym wątku.
BeginExecuteReader Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym temacie SqlCommand i pobiera jeden lub więcej zestawów wyników z serwera. Każde wywołanie musi BeginExecuteReader być sparowane z wywołaniem, do EndExecuteReader którego kończy operację, zazwyczaj w osobnym wątku.
BeginExecuteXmlReader Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym elemecie SqlCommand. Każde wywołanie musi BeginExecuteXmlReader być sparowane z wywołaniem metody EndExecuteXmlReader, która kończy operację, zazwyczaj w osobnym wątku i zwraca XmlReader obiekt.
ExecuteReader Wykonuje polecenia zwracające wiersze. W celu zwiększenia wydajności ExecuteReader wywołuje polecenia przy użyciu procedury składowanej systemu Transact-SQL sp_executesql . ExecuteReader W związku z tym może nie mieć wpływu, który ma być używany do wykonywania poleceń, takich jak instrukcje Transact-SQL SET.
ExecuteNonQuery Wykonuje polecenia, takie jak transact-SQL INSERT, DELETE, UPDATE i SET instrukcji.
ExecuteScalar Pobiera pojedynczą wartość (na przykład wartość agregowaną) z bazy danych.
ExecuteXmlReader Wysyła obiekt CommandText do obiektu Connection i tworzy XmlReader go.

Można zresetować CommandText właściwość i ponownie użyć SqlCommand obiektu. Należy jednak zamknąć polecenie SqlDataReader przed wykonaniem nowego lub poprzedniego polecenia.

SqlException Jeśli element jest generowany przez metodę wykonującą metodę SqlCommand, SqlConnection pozostaje otwarty, gdy poziom ważności wynosi 19 lub mniej. Gdy poziom ważności wynosi 20 lub więcej, serwer zwykle zamyka wartość SqlConnection. Jednak użytkownik może ponownie otworzyć połączenie i kontynuować.

Uwaga

Bez nazwy, nazywane również porządkowym, parametry nie są obsługiwane przez dostawcę danych .NET Framework dla SQL Server.

Konstruktory

SqlCommand()

Inicjuje nowe wystąpienie klasy SqlCommand.

SqlCommand(String)

Inicjuje SqlCommand nowe wystąpienie klasy tekstem zapytania.

SqlCommand(String, SqlConnection)

Inicjuje nowe wystąpienie SqlCommand klasy przy użyciu tekstu zapytania i .SqlConnection

SqlCommand(String, SqlConnection, SqlTransaction)

Inicjuje nowe wystąpienie SqlCommand klasy przy użyciu tekstu zapytania , SqlConnectioni .SqlTransaction

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Inicjuje SqlCommand nowe wystąpienie klasy z określonym tekstem polecenia, połączeniem, transakcją i ustawieniem szyfrowania.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
ColumnEncryptionSetting

Pobiera lub ustawia ustawienie szyfrowania kolumn dla tego polecenia.

CommandText

Pobiera lub ustawia instrukcję Języka Transact-SQL, nazwę tabeli lub procedurę składowaną do wykonania w źródle danych.

CommandTimeout

Pobiera lub ustawia czas oczekiwania (w sekundach) przed zakończeniem próby wykonania polecenia i wygenerowania błędu.

CommandType

Pobiera lub ustawia wartość wskazującą sposób CommandText interpretacji właściwości.

Connection

Pobiera lub ustawia SqlConnection wartość używaną przez to wystąpienie klasy SqlCommand.

Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
DbConnection

Pobiera lub ustawia wartość używaną przez ten DbCommandelement DbConnection .

(Odziedziczone po DbCommand)
DbParameterCollection

Pobiera kolekcję DbParameter obiektów.

(Odziedziczone po DbCommand)
DbTransaction

Pobiera lub ustawia obiekt DbTransaction , w którym jest wykonywany ten DbCommand obiekt.

(Odziedziczone po DbCommand)
DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
DesignTimeVisible

Pobiera lub ustawia wartość wskazującą, czy obiekt polecenia powinien być widoczny w kontrolce Designer formularza systemu Windows.

Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
Notification

Pobiera lub ustawia wartość określającą SqlNotificationRequest obiekt powiązany z tym poleceniem.

NotificationAutoEnlist

Pobiera lub ustawia wartość wskazującą, czy aplikacja powinna automatycznie otrzymywać powiadomienia o zapytaniach z wspólnego SqlDependency obiektu.

Parameters

Pobiera klasę SqlParameterCollection.

Site

Pobiera lub ustawia wartość ISite .Component

(Odziedziczone po Component)
Transaction

Pobiera lub ustawia SqlTransaction element, w którym SqlCommand są wykonywane.

UpdatedRowSource

Pobiera lub ustawia sposób stosowania wyników poleceń do DataRow metody Update metody DbDataAdapter.

Metody

BeginExecuteNonQuery()

Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez ten SqlCommandelement .

BeginExecuteNonQuery(AsyncCallback, Object)

Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym SqlCommandelemecie , przy użyciu procedury wywołania zwrotnego i informacji o stanie.

BeginExecuteReader()

Inicjuje asynchroniczne wykonywanie instrukcji Języka Transact-SQL lub procedury składowanej opisanej przez ten SqlCommandobiekt i pobiera jeden lub więcej zestawów wyników z serwera.

BeginExecuteReader(AsyncCallback, Object)

Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez tę SqlCommand procedurę i pobiera jeden lub więcej zestawów wyników z serwera, biorąc pod uwagę procedurę wywołania zwrotnego i informacje o stanie.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Inicjuje asynchroniczne wykonywanie instrukcji Języka Transact-SQL lub procedury składowanej opisanej w tym SqlCommandobiekcie , przy użyciu jednej z wartości i pobieranie co najmniej CommandBehavior jednego zestawu wyników z serwera, biorąc pod uwagę procedurę wywołania zwrotnego i informacje o stanie.

BeginExecuteReader(CommandBehavior)

Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej za pomocą SqlCommand jednej z CommandBehavior wartości.

BeginExecuteXmlReader()

Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej, która jest opisana przez to SqlCommand i zwraca wyniki jako XmlReader obiekt.

BeginExecuteXmlReader(AsyncCallback, Object)

Inicjuje asynchroniczne wykonywanie instrukcji Języka Transact-SQL lub procedury składowanej opisanej przez tę SqlCommand metodę XmlReader i zwraca wyniki jako obiekt przy użyciu procedury wywołania zwrotnego.

Cancel()

Próbuje anulować wykonywanie elementu SqlCommand.

Clone()

Tworzy nowy SqlCommand obiekt, który jest kopią bieżącego wystąpienia.

CreateDbParameter()

Tworzy nowe wystąpienie DbParameter obiektu.

(Odziedziczone po DbCommand)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
CreateParameter()

Tworzy nowe wystąpienie SqlParameter obiektu.

Dispose()

Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

(Odziedziczone po DbCommand)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element DbCommand i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po DbCommand)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po Component)
DisposeAsync()

Asynchronicznie modyfikuje obiekt polecenia.

(Odziedziczone po DbCommand)
EndExecuteNonQuery(IAsyncResult)

Kończy asynchroniczne wykonywanie instrukcji Języka Transact-SQL.

EndExecuteReader(IAsyncResult)

Kończy asynchroniczne wykonywanie instrukcji Języka Transact-SQL, zwracając żądany element SqlDataReader.

EndExecuteXmlReader(IAsyncResult)

Kończy asynchroniczne wykonywanie instrukcji Języka Transact-SQL, zwracając żądane dane jako XML.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
ExecuteDbDataReader(CommandBehavior)

Wykonuje polecenie względem jego połączenia, zwracając element DbDataReader , który może służyć do uzyskiwania dostępu do wyników.

(Odziedziczone po DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Dostawcy powinni zaimplementować tę metodę, aby zapewnić implementację nie domyślną dla ExecuteReader przeciążeń.

Domyślna implementacja wywołuje metodę synchroniczną ExecuteReader() i zwraca ukończone zadanie, blokując wątek wywołujący. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowany token anulowania. Wyjątki zgłaszane przez element ExecuteReader będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

Ta metoda akceptuje token anulowania, który może służyć do żądania wcześniejszego anulowania operacji. Implementacje mogą ignorować to żądanie.

(Odziedziczone po DbCommand)
ExecuteNonQuery()

Wykonuje instrukcję Języka Transact-SQL względem połączenia i zwraca liczbę wierszy, których dotyczy problem.

ExecuteNonQueryAsync()

Asynchroniczna wersja elementu ExecuteNonQuery(), która wykonuje polecenie względem jego obiektu połączenia, zwracając liczbę wierszy, których dotyczy problem.

ExecuteNonQueryAsync(CancellationToken) Wywołuje element z elementem CancellationToken.None.

(Odziedziczone po DbCommand)
ExecuteNonQueryAsync(CancellationToken)

Wersja asynchroniczna programu ExecuteNonQuery(), która wykonuje instrukcję Języka Transact-SQL względem połączenia i zwraca liczbę wierszy, których dotyczy problem. Token anulowania może służyć do żądania, aby operacja została porzucona przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Task.

ExecuteNonQueryAsync(CancellationToken)

Jest to asynchroniczna wersja programu ExecuteNonQuery(). Dostawcy powinni zastąpić odpowiednią implementacją. Token anulowania może być opcjonalnie ignorowany.

Domyślna implementacja wywołuje metodę synchroniczną ExecuteNonQuery() i zwraca ukończone zadanie, blokując wątek wywołujący. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowany token anulowania. Wyjątki zgłaszane przez ExecuteNonQuery() program będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

Nie należy wywoływać innych metod i właściwości DbCommand obiektu, dopóki zwrócone zadanie nie zostanie ukończone.

(Odziedziczone po DbCommand)
ExecuteReader()

Wysyła element CommandText do pliku Connection i tworzy element SqlDataReader.

ExecuteReader(CommandBehavior)

Wysyła element CommandText do obiektu Connectioni tworzy obiekt SqlDataReader przy użyciu jednej z CommandBehavior wartości.

ExecuteReaderAsync()

Asynchroniczna wersja ExecuteReader()elementu , która wysyła CommandText element do elementu Connection i tworzy element SqlDataReader. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Task.

ExecuteReaderAsync()

Asynchroniczna wersja programu ExecuteReader, która wykonuje polecenie względem jego połączenia, zwracając element DbDataReader , który może służyć do uzyskiwania dostępu do wyników.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) Wywołuje element z elementem CancellationToken.None.

(Odziedziczone po DbCommand)
ExecuteReaderAsync(CancellationToken)

Asynchroniczna wersja elementu ExecuteReader(), która wysyła element CommandText do elementu Connection i tworzy element SqlDataReader.

Token anulowania może służyć do żądania, aby operacja została porzucona przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

ExecuteReaderAsync(CancellationToken)

Asynchroniczna wersja programu ExecuteReader, która wykonuje polecenie względem jego połączenia, zwracając element DbDataReader , który może służyć do uzyskiwania dostępu do wyników.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)Wywołuje polecenie .

(Odziedziczone po DbCommand)
ExecuteReaderAsync(CommandBehavior)

Asynchroniczna wersja elementu ExecuteReader(CommandBehavior), która wysyła CommandText element do Connectionelementu i tworzy element SqlDataReader. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

ExecuteReaderAsync(CommandBehavior)

Asynchroniczna wersja programu ExecuteReader, która wykonuje polecenie względem jego połączenia, zwracając element DbDataReader , który może służyć do uzyskiwania dostępu do wyników.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)Wywołuje polecenie .

(Odziedziczone po DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

Asynchroniczna wersja elementu ExecuteReader(CommandBehavior), która wysyła element CommandText do Connectionelementu i tworzy element SqlDataReader

Token anulowania może służyć do żądania, aby operacja została porzucona przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)Wywołuje polecenie .

(Odziedziczone po DbCommand)
ExecuteScalar()

Wykonuje zapytanie i zwraca pierwszą kolumnę pierwszego wiersza w zestawie wyników zwróconym przez zapytanie. Dodatkowe kolumny lub wiersze są ignorowane.

ExecuteScalarAsync()

Asynchroniczna wersja elementu ExecuteScalar(), która wykonuje polecenie i zwraca pierwszą kolumnę pierwszego wiersza w pierwszym zwróconym zestawie wyników. Wszystkie inne kolumny, wiersze i zestawy wyników są ignorowane.

ExecuteScalarAsync(CancellationToken) Wywołuje element z elementem CancellationToken.None.

(Odziedziczone po DbCommand)
ExecuteScalarAsync(CancellationToken)

Asynchroniczna wersja elementu ExecuteScalar(), która wykonuje zapytanie asynchronicznie i zwraca pierwszą kolumnę pierwszego wiersza w zestawie wyników zwróconym przez zapytanie. Dodatkowe kolumny lub wiersze są ignorowane.

Token anulowania może służyć do żądania, aby operacja została porzucona przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

ExecuteScalarAsync(CancellationToken)

Jest to asynchroniczna wersja programu ExecuteScalar(). Dostawcy powinni zastąpić odpowiednią implementacją. Token anulowania może być opcjonalnie ignorowany.

Domyślna implementacja wywołuje metodę synchroniczną ExecuteScalar() i zwraca ukończone zadanie, blokując wątek wywołujący. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowany token anulowania. Wyjątki zgłaszane przez element ExecuteScalar będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

Nie należy wywoływać innych metod i właściwości DbCommand obiektu, dopóki zwrócone zadanie nie zostanie ukończone.

(Odziedziczone po DbCommand)
ExecuteXmlReader()

Wysyła obiekt CommandText do obiektu Connection i tworzy XmlReader go.

ExecuteXmlReaderAsync()

Asynchroniczna wersja elementu ExecuteXmlReader(), która wysyła element CommandText do Connection obiektu i tworzy XmlReader obiekt.

Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

ExecuteXmlReaderAsync(CancellationToken)

Asynchroniczna wersja elementu ExecuteXmlReader(), która wysyła element CommandText do Connection obiektu i tworzy XmlReader obiekt.

Token anulowania może służyć do żądania, aby operacja została porzucona przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container.

(Odziedziczone po Component)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
Prepare()

Tworzy przygotowaną wersję polecenia w wystąpieniu SQL Server.

PrepareAsync(CancellationToken)

Asynchronicznie tworzy przygotowaną (lub skompilowana) wersję polecenia w źródle danych.

(Odziedziczone po DbCommand)
ResetCommandTimeout()

Resetuje właściwość do wartości domyślnej CommandTimeout .

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)
StatementCompleted

Występuje po zakończeniu wykonywania instrukcji Języka Transact-SQL.

Jawne implementacje interfejsu

ICloneable.Clone()

Tworzy nowy SqlCommand obiekt, który jest kopią bieżącego wystąpienia.

IDbCommand.Connection

Pobiera lub ustawia IDbConnection wartość używaną przez to wystąpienie klasy IDbCommand.

(Odziedziczone po DbCommand)
IDbCommand.CreateParameter()

Tworzy nowe wystąpienie SqlParameter obiektu.

IDbCommand.CreateParameter()

Tworzy nowe wystąpienie IDbDataParameter obiektu.

(Odziedziczone po DbCommand)
IDbCommand.ExecuteReader()

Wysyła element CommandText do elementu Connectioni tworzy element SqlDataReader.

IDbCommand.ExecuteReader()

Wykonuje element CommandText względem elementu Connection i kompiluje element IDataReader.

(Odziedziczone po DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Wysyła element CommandText do obiektu Connectioni tworzy SqlDataReader element przy użyciu jednej z CommandBehavior wartości.

IDbCommand.ExecuteReader(CommandBehavior)

Wykonuje obiekt CommandText względem elementu Connectioni tworzy obiekt IDataReader przy użyciu jednej z CommandBehavior wartości.

(Odziedziczone po DbCommand)
IDbCommand.Parameters

Pobiera klasę IDataParameterCollection.

(Odziedziczone po DbCommand)
IDbCommand.Transaction

Pobiera lub ustawia obiekt DbTransaction , w którym jest wykonywany ten DbCommand obiekt.

(Odziedziczone po DbCommand)

Dotyczy

Zobacz też