SqlCommand Classe

Définition

Représente une instruction Transact-SQL ou une procédure stockée à exécuter par rapport à une base de données SQL Server. Cette classe ne peut pas être héritée.

public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable
public ref class SqlCommand sealed : System::Data::Common::DbCommand
public ref class SqlCommand sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbCommand
public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable, IDisposable
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
public sealed class SqlCommand : System.Data.Common.DbCommand
public sealed class SqlCommand : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbCommand
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable, IDisposable
type SqlCommand = class
    inherit DbCommand
    interface ICloneable
type SqlCommand = class
    inherit DbCommand
type SqlCommand = class
    inherit Component
    interface IDbCommand
    interface IDisposable
    interface ICloneable
type SqlCommand = class
    inherit DbCommand
    interface IDbCommand
    interface ICloneable
    interface IDisposable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements 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, IDisposable
Héritage
SqlCommand
Héritage
Héritage
Implémente

Exemples

L’exemple suivant crée un SqlConnection , un SqlCommand et un SqlDataReader . L’exemple lit les données, en les écrivant dans la console. Enfin, l’exemple ferme le SqlDataReader , puis le, SqlConnection car il quitte les Using blocs de code.

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

L’exemple suivant montre comment créer et exécuter différents types d’objets SqlCommand.

Tout d’abord, vous devez créer l’exemple de base de données en exécutant le script suivant :

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  

Ensuite, compilez et exécutez ce qui suit :

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

Remarques

Lorsqu’une instance de SqlCommand est créée, les propriétés en lecture/écriture sont définies sur leurs valeurs initiales. Pour obtenir la liste de ces valeurs, consultez le SqlCommand constructeur.

SqlCommandpropose les méthodes suivantes pour exécuter des commandes dans une base de données SQL Server :

Élément Description
BeginExecuteNonQuery lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand , en exécutant généralement des commandes telles que les instructions INSERT, DELETE, UPDATE et SET. Chaque appel à BeginExecuteNonQuery doit être associé à un appel à EndExecuteNonQuery qui termine l’opération, généralement sur un thread séparé.
BeginExecuteReader lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand et récupère un ou plusieurs jeux de résultats du serveur. Chaque appel à BeginExecuteReader doit être associé à un appel à EndExecuteReader qui termine l’opération, généralement sur un thread séparé.
BeginExecuteXmlReader Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand. Chaque appel à BeginExecuteXmlReader doit être associé à un appel à EndExecuteXmlReader , qui termine l’opération, généralement sur un thread distinct, et retourne un XmlReader objet.
ExecuteReader Exécute des commandes qui retournent des lignes. pour des performances accrues, ExecuteReader appelle des commandes à l’aide de la sp_executesql procédure stockée système Transact-SQL. par conséquent, ExecuteReader peut ne pas avoir l’effet souhaité si vous utilisez pour exécuter des commandes telles que des instructions SET Transact-SQL.
ExecuteNonQuery exécute des commandes, telles que les instructions Transact-SQL INSERT, DELETE, UPDATE et SET.
ExecuteScalar Récupère une valeur unique (par exemple, une valeur d’agrégation) à partir d’une base de données.
ExecuteXmlReader Envoie CommandText à Connection et génère un objet XmlReader.

Vous pouvez réinitialiser la CommandText propriété et réutiliser l' SqlCommand objet. Toutefois, vous devez fermer le SqlDataReader pour pouvoir exécuter une commande New ou Previous.

Si un SqlException est généré par la méthode exécutant un SqlCommand , le SqlConnection reste ouvert lorsque le niveau de gravité est inférieur ou égal à 19. Lorsque le niveau de gravité est supérieur ou égal à 20, le serveur ferme normalement SqlConnection . L'utilisateur peut toutefois rouvrir la connexion et continuer.

Notes

sans nom, également appelé ordinal, les paramètres ne sont pas pris en charge par le Fournisseur de données .NET Framework pour SQL Server.

Constructeurs

SqlCommand()

Initialise une nouvelle instance de la classe SqlCommand.

SqlCommand(String)

Initialise une nouvelle instance de la classe SqlCommand avec le texte de la requête.

SqlCommand(String, SqlConnection)

Initialise une nouvelle instance de la classe SqlCommand avec le texte de la requête et un SqlConnection

SqlCommand(String, SqlConnection, SqlTransaction)

Initialise une nouvelle instance de la classe SqlCommand avec le texte de la requête, SqlConnection et SqlTransaction.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Initialise une nouvelle instance de la classe SqlCommand avec le texte de commande, la connexion, la transaction et le paramètre de chiffrement spécifiés.

Propriétés

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
ColumnEncryptionSetting

Obtient ou définit le paramètre de chiffrement de colonne pour cette commande.

CommandText

Obtient ou définit l'instruction Transact-SQL, le nom de table ou la procédure stockée à exécuter au niveau de la source de données.

CommandTimeout

Obtient ou définit le délai d’attente (en secondes) avant de mettre fin à la tentative d’exécution d’une commande et de générer une erreur.

CommandType

Obtient ou définit une valeur indiquant la manière dont la propriété CommandText doit être interprétée.

Connection

Obtient ou définit le SqlConnection utilisé par cette instance du SqlCommand.

Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
DbConnection

En cas de substitution dans une classe dérivée, obtient ou définit la DbConnection utilisée par cette DbCommand.

(Hérité de DbCommand)
DbParameterCollection

En cas de substitution dans une classe dérivée, obtient la collection d’objets DbParameter.

(Hérité de DbCommand)
DbTransaction

En cas de remplacement dans une classe dérivée, obtient ou définit la DbTransaction dans laquelle cet objet DbCommand s’exécute.

(Hérité de DbCommand)
DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
DesignTimeVisible

Obtient ou définit une valeur indiquant si l'objet command doit être visible dans un contrôle du concepteur Windows Form.

Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
Notification

Obtient ou définit une valeur qui spécifie l’objet SqlNotificationRequest lié à cette commande.

NotificationAutoEnlist

Obtient ou définit une valeur indiquant si l’application doit recevoir automatiquement des notifications de requête de la part d’un objet SqlDependency commun.

Parameters

Obtient SqlParameterCollection.

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)
Transaction

Obtient ou définit l'objet SqlTransaction dans lequel SqlCommand s'exécute.

UpdatedRowSource

Obtient ou définit la manière dont les résultats des commandes sont appliqués à DataRow quand ils sont utilisés par la méthode Update de DbDataAdapter.

Méthodes

BeginExecuteNonQuery()

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand, pour une procédure de rappel et des informations d’état données.

BeginExecuteReader()

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand et récupère un ou plusieurs jeux de résultats du serveur.

BeginExecuteReader(AsyncCallback, Object)

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand et récupère un ou plusieurs jeux de résultats du serveur, pour une procédure de rappel et des informations d’état données.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand, en utilisant l’une des valeurs CommandBehavior, et récupère un ou plusieurs jeux de résultats à partir du serveur, pour une procédure de rappel et des informations d’état données.

BeginExecuteReader(CommandBehavior)

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par ce SqlCommand à l’aide de l’une des valeurs de CommandBehavior.

BeginExecuteXmlReader()

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée décrite par ce SqlCommand et retourne les résultats sous forme d’objet XmlReader.

BeginExecuteXmlReader(AsyncCallback, Object)

Lance l’exécution asynchrone de l’instruction Transact-SQL ou de la procédure stockée qui est décrite par cet SqlCommand et retourne les résultats en tant qu’objet XmlReader à l’aide d’une procédure de rappel.

Cancel()

Tente d’annuler l’exécution d’un SqlCommand.

Clone()

Crée un nouvel objet SqlCommand qui est une copie de l'instance actuelle.

CreateDbParameter()

En cas de substitution dans une classe dérivée, crée une instance d'un objet DbParameter.

(Hérité de DbCommand)
CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
CreateParameter()

Crée une nouvelle instance d'un objet SqlParameter.

Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

(Hérité de DbCommand)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources non managées utilisées par DbCommand et libère éventuellement les ressources managées.

(Hérité de DbCommand)
Dispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.

(Hérité de Component)
DisposeAsync()

Supprime de manière asynchrone l’objet de commande.

(Hérité de DbCommand)
EndExecuteNonQuery(IAsyncResult)

Termine l'exécution asynchrone d'une instruction Transact-SQL.

EndExecuteReader(IAsyncResult)

Termine l’exécution asynchrone d’une instruction Transact-SQL, en retournant le SqlDataReader demandé.

EndExecuteXmlReader(IAsyncResult)

Termine l'exécution asynchrone d'une instruction Transact-SQL en retournant les données demandées en XML.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
ExecuteDbDataReader(CommandBehavior)

En cas de substitution dans une classe dérivée, exécute la commande par rapport à la connexion.

(Hérité de DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Les fournisseurs doivent implémenter cette méthode pour assurer une implémentation non définie par défaut pour les surcharges ExecuteReader.

L'implémentation par défaut appelle la méthode ExecuteReader() synchrone et retourne une tâche terminée, bloquant ainsi le thread appelant. L'implémentation par défaut retourne une tâche annulée si un jeton d'annulation déjà annulé est passé. Les exceptions levées par ExecuteReader sont communiquées via la propriété d'exception de tâche retournée.

Cette méthode accepte un jeton d'annulation qui peut être utilisé pour demander l'annulation de l'opération plus tôt que prévu. Les implémentations peuvent ignorer cette demande.

(Hérité de DbCommand)
ExecuteNonQuery()

Exécute une instruction Transact-SQL sur la connexion et retourne le nombre de lignes affectées.

ExecuteNonQueryAsync()

Version asynchrone de ExecuteNonQuery(), qui exécute une instruction SQL par rapport à un objet de connexion.

Appelle ExecuteNonQueryAsync(CancellationToken) avec CancellationToken.None.

(Hérité de DbCommand)
ExecuteNonQueryAsync(CancellationToken)

version asynchrone de ExecuteNonQuery() , qui exécute une instruction Transact-SQL sur la connexion et retourne le nombre de lignes affectées. Le jeton d'annulation peut être utilisé pour demander que l'opération soit abandonnée avant que le délai d'attente de commande s'écoule. Les exceptions seront signalées via l’objet Task retourné.

ExecuteNonQueryAsync(CancellationToken)

Il s'agit de la version asynchrone de ExecuteNonQuery(). Les fournisseurs doivent effectuer le remplacement avec une implémentation appropriée. Le jeton d'annulation peut éventuellement être ignoré.

L'implémentation par défaut appelle la méthode ExecuteNonQuery() synchrone et retourne une tâche terminée, bloquant ainsi le thread appelant. L'implémentation par défaut retourne une tâche annulée si un jeton d'annulation déjà annulé est passé. Les exceptions levées par ExecuteNonQuery() sont communiquées via la propriété d'exception de tâche retournée.

N'appelle pas d'autres méthodes et propriétés de l'objet DbCommand jusqu'à ce que la tâche retournée soit terminée.

(Hérité de DbCommand)
ExecuteReader()

Envoie CommandText à Connection et génère un SqlDataReader.

ExecuteReader(CommandBehavior)

Envoie le CommandText au Connection, et génère un SqlDataReader à l’aide de l’une des valeurs CommandBehavior.

ExecuteReaderAsync()

Version asynchrone de ExecuteReader(), qui envoie le CommandText au Connection et génère un SqlDataReader. Les exceptions seront signalées via l’objet Task retourné.

ExecuteReaderAsync()

Version asynchrone de ExecuteReader, qui exécute CommandText par rapport à Connection et retourne DbDataReader.

Appelle ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) avec CancellationToken.None.

(Hérité de DbCommand)
ExecuteReaderAsync(CancellationToken)

Version asynchrone de ExecuteReader(), qui envoie le CommandText au Connection et génère un SqlDataReader.

Le jeton d'annulation peut être utilisé pour demander que l'opération soit abandonnée avant que le délai d'attente de commande s'écoule. Les exceptions seront signalées via l’objet Task retourné.

ExecuteReaderAsync(CancellationToken)

Version asynchrone de ExecuteReader, qui exécute CommandText par rapport à Connection et retourne DbDataReader. Cette méthode propage une notification indiquant que des opérations doivent être annulées.

Appelle ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Hérité de DbCommand)
ExecuteReaderAsync(CommandBehavior)

Version asynchrone d’ExecuteReader(CommandBehavior), qui envoie le CommandText au Connection et génère un SqlDataReader. Les exceptions seront signalées via l’objet Task retourné.

ExecuteReaderAsync(CommandBehavior)

Version asynchrone de ExecuteReader, qui exécute CommandText par rapport à Connection et retourne DbDataReader.

Appelle ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Hérité de DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

Version asynchrone de ExecuteReader(CommandBehavior), qui envoie le CommandText au Connection et génère un SqlDataReader.

Le jeton d'annulation peut être utilisé pour demander que l'opération soit abandonnée avant que le délai d'attente de commande s'écoule. Les exceptions seront signalées via l’objet Task retourné.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Appelle ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Hérité de DbCommand)
ExecuteScalar()

Exécute la requête et retourne la première colonne de la première ligne dans le jeu de résultats retourné par la requête. Les colonnes ou lignes supplémentaires sont ignorées.

ExecuteScalarAsync()

Version asynchrone de ExecuteScalar(), qui exécute la requête et retourne la première colonne de la première ligne du jeu de résultats retourné par la requête. Toutes les autres colonnes et lignes sont ignorées.

Appelle ExecuteScalarAsync(CancellationToken) avec CancellationToken.None.

(Hérité de DbCommand)
ExecuteScalarAsync(CancellationToken)

Version asynchrone d’ExecuteScalar(), qui exécute la requête de façon asynchrone et retourne la première colonne de la première ligne du jeu de résultats retourné par la requête. Les colonnes ou lignes supplémentaires sont ignorées.

Le jeton d'annulation peut être utilisé pour demander que l'opération soit abandonnée avant que le délai d'attente de commande s'écoule. Les exceptions seront signalées via l’objet Task retourné.

ExecuteScalarAsync(CancellationToken)

Il s'agit de la version asynchrone de ExecuteScalar(). Les fournisseurs doivent effectuer le remplacement avec une implémentation appropriée. Le jeton d'annulation peut éventuellement être ignoré.

L'implémentation par défaut appelle la méthode ExecuteScalar() synchrone et retourne une tâche terminée, bloquant ainsi le thread appelant. L'implémentation par défaut retourne une tâche annulée si un jeton d'annulation déjà annulé est passé. Les exceptions levées par ExecuteScalar sont communiquées via la propriété d'exception de tâche retournée.

N'appelle pas d'autres méthodes et propriétés de l'objet DbCommand jusqu'à ce que la tâche retournée soit terminée.

(Hérité de DbCommand)
ExecuteXmlReader()

Envoie CommandText à Connection et génère un objet XmlReader.

ExecuteXmlReaderAsync()

Version asynchrone de ExecuteXmlReader(), qui envoie le CommandText au Connection et génère un objet XmlReader.

Les exceptions seront signalées via l’objet Task retourné.

ExecuteXmlReaderAsync(CancellationToken)

Version asynchrone de ExecuteXmlReader(), qui envoie le CommandText au Connection et génère un objet XmlReader.

Le jeton d'annulation peut être utilisé pour demander que l'opération soit abandonnée avant que le délai d'attente de commande s'écoule. Les exceptions seront signalées via l’objet Task retourné.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
Prepare()

Crée une version préparée de la commande sur une instance de SQL Server.

PrepareAsync(CancellationToken)

Crée de manière asynchrone une version préparée ou compilée de la commande sur la source de données.

(Hérité de DbCommand)
ResetCommandTimeout()

Rétablit la valeur par défaut de la propriété CommandTimeout.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
ToString()

Retourne un String contenant le nom du Component, s’il en existe un. Cette méthode ne doit pas être remplacée.

(Hérité de Component)

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)
StatementCompleted

Se produit quand l'exécution d'une instruction Transact-SQL se termine.

Implémentations d’interfaces explicites

ICloneable.Clone()

Crée un nouvel objet SqlCommand qui est une copie de l'instance actuelle.

IDbCommand.Connection

Obtient ou définit le IDbConnection utilisé par cette instance du IDbCommand.

(Hérité de DbCommand)
IDbCommand.CreateParameter()

Crée une nouvelle instance d'un objet SqlParameter.

IDbCommand.CreateParameter()

Crée une nouvelle instance d’un objet IDbDataParameter .

(Hérité de DbCommand)
IDbCommand.ExecuteReader()

Envoie CommandText à Connection et génère SqlDataReader.

IDbCommand.ExecuteReader()

Exécute le CommandText contre le Connection et génère un IDataReader.

(Hérité de DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Envoie le CommandText au Connection, et génère un SqlDataReader à l’aide de l’une des valeurs CommandBehavior.

IDbCommand.ExecuteReader(CommandBehavior)

Exécute le CommandText sur le Connection, et génère un IDataReader à l’aide d’une des valeurs CommandBehavior.

(Hérité de DbCommand)
IDbCommand.Parameters

Obtient IDataParameterCollection.

(Hérité de DbCommand)
IDbCommand.Transaction

Obtient ou définit la DbTransaction dans laquelle l’objet DbCommand s’exécute.

(Hérité de DbCommand)

S’applique à

Voir aussi