Freigeben über


SqlCommand Klasse

Definition

Stellt eine Transact-SQL-Anweisung oder eine gespeicherte Prozedur dar, die in einer SQL Server-Datenbank ausgeführt werden soll. Diese Klasse kann nicht vererbt werden.

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
Vererbung
SqlCommand
Vererbung
Vererbung
Implementiert

Beispiele

Im folgenden Beispiel werden ein SqlConnection, und SqlCommandein SqlDataReadererstellt. Im Beispiel werden die Daten gelesen und in die Konsole geschrieben. Schließlich schließt das Beispiel die SqlDataReader und dann, SqlConnection während die Codeblöcke beendet Using werden.

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

Im folgenden Beispiel wird gezeigt, wie verschiedene Typen von SqlCommand-Objekten erstellt und ausgeführt werden.

Zunächst müssen Sie die Beispieldatenbank erstellen, indem Sie das folgende Skript ausführen:

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

Kompilieren Sie als Nächstes Folgendes, und führen Sie sie aus:

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

Hinweise

Wenn ein instance von SqlCommand erstellt wird, werden die Lese-/Schreibeigenschaften auf ihre Anfangswerte festgelegt. Eine Liste dieser Werte finden Sie im SqlCommand Konstruktor.

SqlCommandbietet die folgenden Methoden zum Ausführen von Befehlen in einer SQL Server-Datenbank:

Element BESCHREIBUNG
BeginExecuteNonQuery Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von dieser beschrieben wird. In der SqlCommandRegel werden Befehle wie INSERT-, DELETE-, UPDATE- und SET-Anweisungen ausgeführt. Jeder Aufruf von BeginExecuteNonQuery muss mit einem Aufruf von gekoppelt werden, der EndExecuteNonQuery den Vorgang in der Regel in einem separaten Thread beendet.
BeginExecuteReader Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder gespeicherten Prozedur, die von dieser SqlCommand beschrieben wird, und ruft mindestens ein Resultset vom Server ab. Jeder Aufruf von BeginExecuteReader muss mit einem Aufruf von gekoppelt werden, der EndExecuteReader den Vorgang in der Regel in einem separaten Thread beendet.
BeginExecuteXmlReader Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die durch diese SqlCommand beschrieben ist. Jeder Aufruf von BeginExecuteXmlReader muss mit einem Aufruf von EndExecuteXmlReadergekoppelt werden, der den Vorgang in der Regel in einem separaten Thread beendet und ein XmlReader -Objekt zurückgibt.
ExecuteReader Führt Befehle aus, die Zeilen zurückgeben. Um die Leistung zu erhöhen, ExecuteReader ruft Befehle mithilfe der gespeicherten Transact-SQL-Systemprozedur sp_executesql auf. Daher hat möglicherweise nicht die gewünschte Auswirkung, ExecuteReader wenn sie zum Ausführen von Befehlen wie Transact-SQL SET-Anweisungen verwendet wird.
ExecuteNonQuery Führt Befehle wie Transact-SQL INSERT-, DELETE-, UPDATE- und SET-Anweisungen aus.
ExecuteScalar Ruft einen einzelnen Wert (z. B. einen Aggregatwert) aus einer Datenbank ab.
ExecuteXmlReader Sendet CommandText an Connection und erstellt ein XmlReader-Objekt.

Sie können die CommandText -Eigenschaft zurücksetzen und das Objekt wiederverwenden SqlCommand . Sie müssen jedoch schließen SqlDataReader , bevor Sie einen neuen oder vorherigen Befehl ausführen können.

Wenn von SqlException der Methode generiert wird, die einen SqlCommandausführt, bleibt geöffnet SqlConnection , wenn der Schweregrad 19 oder weniger beträgt. Wenn der Schweregrad 20 oder höher ist, schließt der Server normalerweise .SqlConnection Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.

Hinweis

Namenlose Parameter, auch ordinal genannt, werden vom .NET Framework-Datenanbieter für SQL Server nicht unterstützt.

Konstruktoren

SqlCommand()

Initialisiert eine neue Instanz der SqlCommand-Klasse.

SqlCommand(String)

Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem Text der Abfrage.

SqlCommand(String, SqlConnection)

Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem Text der Abfrage und einer SqlConnection.

SqlCommand(String, SqlConnection, SqlTransaction)

Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem Text der Abfrage, einer SqlConnection und der SqlTransaction.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem angegebenen Befehlstext sowie mit der angegebenen Verbindung, Transaktion und Verschlüsselungseinstellung.

Eigenschaften

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
ColumnEncryptionSetting

Ruft die Spaltenverschlüsselungseinstellung für diesen Befehl ab oder legt sie fest.

CommandText

Ruft die Transact-SQL-Anweisung, den Tabellennamen oder die gespeicherte Prozedur ab, die oder der für die Datenquelle ausgeführt werden soll, oder legt diese(n) fest.

CommandTimeout

Ruft die Zeit (in Sekunden) ab, die gewartet werden soll, bis der Versuch einer Befehlsausführung beendet und ein Fehler generiert wird, oder legt diese fest.

CommandType

Ruft einen Wert ab, der angibt, wie die CommandText-Eigenschaft interpretiert werden soll, oder legt diesen Wert fest.

Connection

Ruft die SqlConnection ab, die von dieser Instanz des SqlCommand verwendet wird, oder legt diese fest.

Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
DbConnection

Ruft die von diesem DbConnection verwendete DbCommand ab oder legt diese fest.

(Geerbt von DbCommand)
DbParameterCollection

Ruft die Auflistung von DbParameter-Objekten ab.

(Geerbt von DbCommand)
DbTransaction

Ruft die DbTransaction ab, in der dieses DbCommand-Objekt ausgeführt wird, oder legt sie fest.

(Geerbt von DbCommand)
DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
DesignTimeVisible

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob das Befehlsobjekt in einem Steuerelement für Windows Form-Designer sichtbar sein soll.

Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
Notification

Ruft einen Wert ab, der das SqlNotificationRequest-Objekt zu diesem Befehl angibt, oder legt diesen Wert fest.

NotificationAutoEnlist

Ruft einen Wert ab, der angibt, ob die Anwendung automatisch Abfragebenachrichtigungen von einem allgemeinen SqlDependency-Objekt erhalten soll, oder legt diesen fest.

Parameters

Ruft das SqlParameterCollection ab.

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
Transaction

Ruft die SqlTransaction ab, in der der SqlCommand ausgeführt wird, bzw. legt diese fest.

UpdatedRowSource

Ruft die Methode ab bzw. legt sie fest, mit der Befehlsergebnisse auf DataRow angewendet werden, wenn sie von der Update-Methode von DbDataAdapter verwendet werden.

Methoden

BeginExecuteNonQuery()

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die durch diese SqlCommand beschrieben ist.

BeginExecuteNonQuery(AsyncCallback, Object)

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird, wenn eine Rückrufprozedur und Zustandsinformationen verfügbar sind.

BeginExecuteReader()

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und ruft ein oder mehrere Resultsets vom Server ab.

BeginExecuteReader(AsyncCallback, Object)

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und ruft ein oder mehrere Resultsets vom Server ab, wenn eine Rückrufprozedur und Zustandsinformationen verfügbar sind.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, wobei einer der CommandBehavior-Werte verwendet wird und ein oder mehrere Resultsets vom Server abgerufen werden, wenn eine Rückrufprozedur und Zustandsinformationen verfügbar sind.

BeginExecuteReader(CommandBehavior)

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand unter Verwendung eines der CommandBehavior-Werte beschrieben wird.

BeginExecuteXmlReader()

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und gibt die Ergebnisse in Form eines XmlReader-Objekts zurück.

BeginExecuteXmlReader(AsyncCallback, Object)

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und gibt mithilfe einer Rückrufprozedur die Ergebnisse in Form eines XmlReader-Objekts zurück.

Cancel()

Versucht, die Ausführung eines SqlCommand abzubrechen.

Clone()

Erstellt ein neues SqlCommand-Objekt, das eine Kopie der aktuellen Instanz darstellt.

CreateDbParameter()

Erstellt eine neue Instanz eines DbParameter-Objekts.

(Geerbt von DbCommand)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
CreateParameter()

Erstellt eine neue Instanz eines SqlParameter-Objekts.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von DbCommand)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von DbCommand verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von DbCommand)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
DisposeAsync()

Stellt das Befehlsobjekt asynchron bereit.

(Geerbt von DbCommand)
EndExecuteNonQuery(IAsyncResult)

Beendet die asynchrone Ausführung einer Transact-SQL-Anweisung.

EndExecuteReader(IAsyncResult)

Beendet die asynchrone Ausführung einer Transact-SQL-Anweisung und gibt den angeforderten SqlDataReader zurück.

EndExecuteXmlReader(IAsyncResult)

Beendet die asynchrone Ausführung einer Transact-SQL-Anweisung, und gibt die angeforderten Daten als XML zurück.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
ExecuteDbDataReader(CommandBehavior)

Führt den Befehl für seine Verbindung aus und gibt einen DbDataReader zurück, mit dem auf die Ergebnisse zugegriffen werden kann.

(Geerbt von DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Anbieter sollten diese Methode implementieren, um eine nicht standardmäßige Implementierung für ExecuteReader-Überladungen bereitzustellen.

Die Standardimplementierung ruft die synchrone ExecuteReader()-Methode auf und gibt eine abgeschlossene Aufgabe zurück. Der aufrufende Thread wird blockiert. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen Abbruchtoken erhalten hat. Die Ausnahmen, die von ExecuteReader ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

Diese Methode nimmt ein Abbruchtoken an, das verwendet werden kann, um ein frühes Abbrechen des Vorgangs anzufordern. Implementierungen können diese Anforderung ignorieren.

(Geerbt von DbCommand)
ExecuteNonQuery()

Führt eine Transact-SQL-Anweisung für die Verbindung aus und gibt die Anzahl der betroffenen Zeilen zurück.

ExecuteNonQueryAsync()

Eine asynchrone Version von , ExecuteNonQuery()die den Befehl für sein Verbindungsobjekt ausführt und die Anzahl der betroffenen Zeilen zurückgibt.

Ruft ExecuteNonQueryAsync(CancellationToken) mit CancellationToken.None auf.

(Geerbt von DbCommand)
ExecuteNonQueryAsync(CancellationToken)

Eine asynchrone Version von ExecuteNonQuery(), die eine Transact-SQL-Anweisung für die Verbindung ausführt und die Anzahl der betroffenen Zeilen zurückgibt. Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteNonQueryAsync(CancellationToken)

Dies ist die asynchrone Version von ExecuteNonQuery(). Anbieter sollten mit einer entsprechenden Implementierung überschreiben. Das Abbruchtoken kann optional ignoriert werden.

Die Standardimplementierung ruft die synchrone ExecuteNonQuery()-Methode auf und gibt eine abgeschlossene Aufgabe zurück. Der aufrufende Thread wird blockiert. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen Abbruchtoken erhalten hat. Die Ausnahmen, die von ExecuteNonQuery() ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

Rufen Sie keine anderen Methoden und Eigenschaften des DbCommand-Objekts auf, bis die zurückgegebene Aufgabe abgeschlossen ist.

(Geerbt von DbCommand)
ExecuteReader()

Sendet CommandText an Connection und erstellt eine SqlDataReader.

ExecuteReader(CommandBehavior)

Sendet CommandText an Connection, und erstellt einen SqlDataReader mit einem der CommandBehavior-Werte.

ExecuteReaderAsync()

Eine asynchrone Version von ExecuteReader(), die den CommandText an die Connection sendet, und einen SqlDataReader erstellt. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteReaderAsync()

Eine asynchrone Version von , ExecuteReaderdie den Befehl für seine Verbindung ausführt und eine DbDataReader zurückgibt, die für den Zugriff auf die Ergebnisse verwendet werden kann.

Ruft ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) mit CancellationToken.None auf.

(Geerbt von DbCommand)
ExecuteReaderAsync(CancellationToken)

Eine asynchrone Version von ExecuteReader(), die den CommandText an die Connection sendet, und einen SqlDataReader erstellt.

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteReaderAsync(CancellationToken)

Eine asynchrone Version von , ExecuteReaderdie den Befehl für seine Verbindung ausführt und eine DbDataReader zurückgibt, die für den Zugriff auf die Ergebnisse verwendet werden kann.

Ruft ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) auf.

(Geerbt von DbCommand)
ExecuteReaderAsync(CommandBehavior)

Eine asynchrone Version von ExecuteReader(CommandBehavior), die den CommandText an die Connection sendet, und einen SqlDataReader erstellt. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteReaderAsync(CommandBehavior)

Eine asynchrone Version von , ExecuteReaderdie den Befehl für seine Verbindung ausführt und eine DbDataReader zurückgibt, die für den Zugriff auf die Ergebnisse verwendet werden kann.

Ruft ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) auf.

(Geerbt von DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

Eine asynchrone Version von ExecuteReader(CommandBehavior), die den CommandText an die Connection sendet, und einen SqlDataReader erstellt.

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Ruft ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) auf.

(Geerbt von DbCommand)
ExecuteScalar()

Führt die Abfrage aus und gibt die erste Spalte der ersten Zeile in dem von der Abfrage zurückgegebenen Resultset zurück. Weitere Spalten oder Zeilen werden ignoriert.

ExecuteScalarAsync()

Eine asynchrone Version von ExecuteScalar(), die den Befehl ausführt und die erste Spalte der ersten Zeile im ersten zurückgegebenen Resultset zurückgibt. Alle anderen Spalten, Zeilen und Resultsets werden ignoriert.

Ruft ExecuteScalarAsync(CancellationToken) mit CancellationToken.None auf.

(Geerbt von DbCommand)
ExecuteScalarAsync(CancellationToken)

Eine asynchrone Version von ExecuteScalar(), die die Abfrage asynchron ausführt und die erste Spalte der ersten Zeile in dem von der Abfrage zurückgegebenen Resultset zurückgibt. Weitere Spalten oder Zeilen werden ignoriert.

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteScalarAsync(CancellationToken)

Dies ist die asynchrone Version von ExecuteScalar(). Anbieter sollten mit einer entsprechenden Implementierung überschreiben. Das Abbruchtoken kann optional ignoriert werden.

Die Standardimplementierung ruft die synchrone ExecuteScalar()-Methode auf und gibt eine abgeschlossene Aufgabe zurück. Der aufrufende Thread wird blockiert. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen Abbruchtoken erhalten hat. Die Ausnahmen, die von ExecuteReader ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

Rufen Sie keine anderen Methoden und Eigenschaften des DbCommand-Objekts auf, bis die zurückgegebene Aufgabe abgeschlossen ist.

(Geerbt von DbCommand)
ExecuteXmlReader()

Sendet CommandText an Connection und erstellt ein XmlReader-Objekt.

ExecuteXmlReaderAsync()

Eine asynchrone Version von ExecuteXmlReader(), die CommandText zu Connection sendet, und ein XmlReader-Objekt erstellt.

Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

ExecuteXmlReaderAsync(CancellationToken)

Eine asynchrone Version von ExecuteXmlReader(), die CommandText zu Connection sendet, und ein XmlReader-Objekt erstellt.

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Aufgabenobjekt gemeldet.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
Prepare()

Erstellt eine vorbereitete Version des Befehls in einer Instanz von SQL Server.

PrepareAsync(CancellationToken)

Erstellt asynchron eine vorbereitete (oder kompilierte) Version des Befehls für die Datenquelle.

(Geerbt von DbCommand)
ResetCommandTimeout()

Setzt die CommandTimeout-Eigenschaft auf den Standardwert zurück.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)
StatementCompleted

Tritt auf, wenn die Ausführung einer Transact-SQL-Anweisung abgeschlossen wurde.

Explizite Schnittstellenimplementierungen

ICloneable.Clone()

Erstellt ein neues SqlCommand-Objekt, das eine Kopie der aktuellen Instanz darstellt.

IDbCommand.Connection

Ruft die IDbConnection ab, die von dieser Instanz des IDbCommand verwendet wird, oder legt diese fest.

(Geerbt von DbCommand)
IDbCommand.CreateParameter()

Erstellt eine neue Instanz eines SqlParameter-Objekts.

IDbCommand.CreateParameter()

Erstellt eine neue Instanz eines IDbDataParameter -Objekts.

(Geerbt von DbCommand)
IDbCommand.ExecuteReader()

Sendet den CommandText an die Connection und erstellt eine SqlDataReader-Klasse.

IDbCommand.ExecuteReader()

Führt den CommandText für die Connection aus und erstellt einen IDataReader.

(Geerbt von DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Sendet CommandText an Connection, und erstellt einen SqlDataReader mit einem der CommandBehavior-Werte.

IDbCommand.ExecuteReader(CommandBehavior)

Führt CommandText für die Connection aus und erstellt mit einem der IDataReader-Werte einen CommandBehavior.

(Geerbt von DbCommand)
IDbCommand.Parameters

Ruft das IDataParameterCollection ab.

(Geerbt von DbCommand)
IDbCommand.Transaction

Ruft die DbTransaction ab, in der dieses DbCommand-Objekt ausgeführt wird, oder legt sie fest.

(Geerbt von DbCommand)

Gilt für:

Weitere Informationen