Freigeben über


SqlCommand Klasse

Definition

Stellt eine Transact-SQL -Anweisung oder gespeicherte Prozedur dar, die für eine 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 wird ein SqlConnection, a SqlCommandund a SqlDataReader. Im Beispiel werden die Daten gelesen und in die Konsole geschrieben. Schließlich wird das Beispiel geschlossen SqlDataReader und dann beendet SqlConnection , während er die Using Codeblöcke verlässt.

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

Das folgende Beispiel zeigt, wie verschiedene Typen von SqlCommand-Objekten erstellt und ausgeführt werden.

Zuerst 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 und ausführen Sie als Nächstes Folgendes:

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 eine Instanz erstellt SqlCommand wird, werden die Lese-/Schreibeigenschaften auf ihre Anfangswerte festgelegt. Eine Liste dieser Werte finden Sie im SqlCommand Konstruktor.

SqlCommand bietet 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 gespeicherten Prozedur, die von diesem SqlCommandbeschrieben wird, in der Regel Ausführen von Befehlen wie INSERT, DELETE, UPDATE und SET-Anweisungen. Jeder Aufruf muss BeginExecuteNonQuery mit einem Aufruf EndExecuteNonQuerygekoppelt werden, der den Vorgang beendet, in der Regel in einem separaten Thread.
BeginExecuteReader Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und ruft einen oder mehrere Resultsets vom Server ab. Jeder Aufruf muss BeginExecuteReader mit einem Aufruf EndExecuteReadergekoppelt werden, der den Vorgang beendet, in der Regel in einem separaten Thread.
BeginExecuteXmlReader Initiiert die asynchrone Ausführung der Transact-SQL -Anweisung oder gespeicherten Prozedur, die von diesem SqlCommandbeschrieben wird. Jeder Aufruf muss BeginExecuteXmlReader mit einem Aufruf EndExecuteXmlReadergekoppelt werden, der den Vorgang beendet, in der Regel in einem separaten Thread, und gibt ein XmlReader Objekt zurück.
ExecuteReader Führt Befehle aus, die Zeilen zurückgeben. Rufen Sie befehle mithilfe der gespeicherten Transact-SQL sp_executesql systemgespeicherten Prozedur auf, ExecuteReader um eine höhere Leistung zu erzielen. Daher hat dies möglicherweise nicht den Gewünschten Effekt, ExecuteReader wenn Sie Befehle wie Transact-SQL SET-Anweisungen ausführen möchten.
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 das CommandText Objekt an das Connection Objekt und erstellt es XmlReader .

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

Wenn eine SqlException von der Methode generiert wird, die eine SqlCommandausführt, bleibt die SqlConnection geöffnet, wenn der Schweregrad 19 oder weniger beträgt. Wenn der Schweregrad 20 oder höher ist, schließt SqlConnectionder Server die . Der Benutzer kann die Verbindung jedoch erneut öffnen und fortfahren.

Hinweis

Nameless, auch als Ordinal bezeichnet, Parameter werden vom .NET Framework-Datenanbieter für SQL Server nicht unterstützt.

Konstruktoren

Name Beschreibung
SqlCommand()

Initialisiert eine neue Instanz der SqlCommand-Klasse.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Initialisiert eine neue Instanz der SqlCommand Klasse mit angegebenem Befehlstext, Verbindung, Transaktion und Verschlüsselungseinstellung.

SqlCommand(String, SqlConnection, SqlTransaction)

Initialisiert eine neue Instanz der SqlCommand Klasse mit dem Text der Abfrage, a SqlConnectionund der SqlTransaction.

SqlCommand(String, SqlConnection)

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

SqlCommand(String)

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

Eigenschaften

Name Beschreibung
CanRaiseEvents

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

(Geerbt von Component)
ColumnEncryptionSetting

Dient zum Abrufen oder Festlegen der Spaltenverschlüsselungseinstellung für diesen Befehl.

CommandText

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

CommandTimeout

Ruft die Wartezeit (in Sekunden) ab, bevor der Versuch, einen Befehl auszuführen und einen Fehler zu generieren, beendet wird, oder legt diese fest.

CommandType

Dient zum Abrufen oder Festlegen eines Werts, der angibt, wie die CommandText Eigenschaft interpretiert werden soll.

Connection

Dient zum Abrufen oder Festlegen der SqlConnection von dieser Instanz der SqlCommand.

Container

Ruft das, das IContainer die Component.

(Geerbt von Component)
DbConnection

Dient zum Abrufen oder Festlegen der DbConnection von diesem DbCommandverwendeten .

(Geerbt von DbCommand)
DbParameterCollection

Ruft die Auflistung von -Objekten ab DbParameter .

(Geerbt von DbCommand)
DbTransaction

Dient zum Abrufen oder Festlegen des DbTransaction Objekts, in dem dieses DbCommand Objekt ausgeführt wird.

(Geerbt von DbCommand)
DesignMode

Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet.

(Geerbt von Component)
DesignTimeVisible

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Befehlsobjekt in einem Windows Form Designer -Steuerelement sichtbar sein soll.

Events

Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind.

(Geerbt von Component)
Notification

Dient zum Abrufen oder Festlegen eines Werts, der das SqlNotificationRequest an diesen Befehl gebundene Objekt angibt.

NotificationAutoEnlist

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Anwendung automatisch Abfragebenachrichtigungen von einem allgemeinen SqlDependency Objekt empfangen soll.

Parameters

Ruft SqlParameterCollection ab.

Site

Dient zum ISite Abrufen oder Festlegen des Werts des Component.

(Geerbt von Component)
Transaction

Dient zum Abrufen oder Festlegen des SqlTransaction Werts, in dem die SqlCommand Ausführung ausgeführt wird.

UpdatedRowSource

Ruft ab oder legt fest, wie Befehlsergebnisse angewendet DataRow werden, wenn von der Update -Methode der DbDataAdapter.

Methoden

Name Beschreibung
BeginExecuteNonQuery()

Initiiert die asynchrone Ausführung der Transact-SQL -Anweisung oder gespeicherten Prozedur, die von diesem SqlCommandbeschrieben wird.

BeginExecuteNonQuery(AsyncCallback, Object)

Initiiert die asynchrone Ausführung der Transact-SQL -Anweisung oder gespeicherten Prozedur, die von diesem SqlCommandbeschrieben wird , vorausgesetzt, eine Rückrufprozedur und Statusinformationen.

BeginExecuteReader()

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

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder gespeicherten Prozedur, die von diesem SqlCommandbeschrieben wird, mithilfe eines der CommandBehavior Werte und Abrufen eines oder mehrerer Resultsets vom Server, wenn eine Rückrufprozedur und Statusinformationen angegeben sind.

BeginExecuteReader(AsyncCallback, Object)

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

BeginExecuteReader(CommandBehavior)

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

BeginExecuteXmlReader()

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

BeginExecuteXmlReader(AsyncCallback, Object)

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

Cancel()

Versucht, die Ausführung einer .SqlCommand

Clone()

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

CreateDbParameter()

Erstellt eine neue Instanz eines DbParameter Objekts.

(Geerbt von DbCommand)
CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
CreateParameter()

Erstellt eine neue Instanz eines SqlParameter Objekts.

Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind.

(Geerbt von DbCommand)
Dispose()

Veröffentlicht alle ressourcen, die von der Component.

(Geerbt von Component)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die von den DbCommand verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von DbCommand)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von Component)
EndExecuteNonQuery(IAsyncResult)

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

EndExecuteReader(IAsyncResult)

Beendet die asynchrone Ausführung einer Transact-SQL-Anweisung und gibt die angeforderte SqlDataReaderzurü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 dem aktuellen Objekt entspricht.

(Geerbt von Object)
ExecuteDbDataReader(CommandBehavior)

Führt den Befehl für seine Verbindung aus und gibt ein DbDataReader Element zurück, das für den Zugriff auf die Ergebnisse verwendet 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, die den aufrufenden Thread blockiert. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes Abbruchtoken übergeben wurde. Ausnahmen, die von ExecuteReader ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft kommuniziert.

Diese Methode akzeptiert ein Abbruchtoken, mit dem der Vorgang frühzeitig abgebrochen werden kann. 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 das 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 Befehlstimeout verstrichen ist. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteReader()

Sendet die CommandText an und Connection erstellt eine SqlDataReader.

ExecuteReader(CommandBehavior)

Sendet den CommandText Wert an das ConnectionUnd erstellt einen SqlDataReader mit einem der CommandBehavior Werte.

ExecuteReaderAsync()

Eine asynchrone Version von ExecuteReader(), die die CommandText an die Connection und erstellt eine SqlDataReader. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteReaderAsync(CancellationToken)

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

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Befehlstimeout verstrichen ist. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Eine asynchrone Version von ExecuteReader(CommandBehavior), die die CommandText an die ConnectionDatei sendet, und erstellt eine SqlDataReader

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Befehlstimeout verstrichen ist. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteReaderAsync(CommandBehavior)

Eine asynchrone Version von ExecuteReader(CommandBehavior), die die CommandText an die Connection, und erstellt eine SqlDataReader. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteScalar()

Führt die Abfrage aus und gibt die erste Spalte der ersten Zeile im Resultset zurück, die von der Abfrage zurückgegeben wird. Zusätzliche 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 im Von der Abfrage zurückgegebenen Resultset zurückgibt. Zusätzliche Spalten oder Zeilen werden ignoriert.

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Befehlstimeout verstrichen ist. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteXmlReader()

Sendet das CommandText Objekt an das Connection Objekt und erstellt es XmlReader .

ExecuteXmlReaderAsync()

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

Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteXmlReaderAsync(CancellationToken)

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

Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Befehlstimeout verstrichen ist. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

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

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird.

(Geerbt von Component)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der 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.

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 mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden.

(Geerbt von Component)

Ereignisse

Name Beschreibung
Disposed

Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird.

(Geerbt von Component)
StatementCompleted

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

Explizite Schnittstellenimplementierungen

Name Beschreibung
ICloneable.Clone()

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

IDbCommand.Connection

Dient zum Abrufen oder Festlegen der IDbConnection von dieser Instanz der IDbCommand.

(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 die CommandText An , Connectionund erstellt eine SqlDataReader.

IDbCommand.ExecuteReader()

Führt die CommandText gegen die Connection und erstellt eine IDataReader.

(Geerbt von DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Sendet den CommandText Wert an das ConnectionUnd erstellt einen SqlDataReader mit einem der CommandBehavior Werte.

IDbCommand.ExecuteReader(CommandBehavior)

Führt den CommandText Gegenwert Connectionaus und erstellt einen IDataReader mit einem der CommandBehavior Werte.

(Geerbt von DbCommand)
IDbCommand.Parameters

Ruft IDataParameterCollection ab.

(Geerbt von DbCommand)
IDbCommand.Transaction

Dient zum Abrufen oder Festlegen des DbTransaction Objekts, in dem dieses DbCommand Objekt ausgeführt wird.

(Geerbt von DbCommand)

Gilt für:

Weitere Informationen