SqlCommand Klas

Definitie

Vertegenwoordigt een Transact-SQL instructie of opgeslagen procedure die moet worden uitgevoerd op basis van een SQL Server-database. Deze klasse kan niet worden overgenomen.

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

Voorbeelden

In het volgende voorbeeld wordt een SqlConnection, a SqlCommanden een SqlDataReader. Het voorbeeld leest de gegevens door en schrijft deze naar de console. Ten slotte wordt in het voorbeeld de SqlDataReader en vervolgens de SqlConnection codeblokken gesloten terwijl deze wordt Using afgesloten.

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

In het volgende voorbeeld ziet u hoe u verschillende typen SqlCommand-objecten maakt en uitvoert.

Eerst moet u de voorbeelddatabase maken door het volgende script uit te voeren:

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

Compileer en voer vervolgens het volgende uit:

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

Opmerkingen

Wanneer er een exemplaar van SqlCommand wordt gemaakt, worden de eigenschappen voor lezen/schrijven ingesteld op de oorspronkelijke waarden. Zie de SqlCommand constructor voor een lijst met deze waarden.

SqlCommand bevat de volgende methoden voor het uitvoeren van opdrachten in een SQL Server-database:

Onderdeel Description
BeginExecuteNonQuery Initieert de asynchrone uitvoering van de Transact-SQL-instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand, meestal het uitvoeren van opdrachten zoals INSERT, DELETE, UPDATE en SET-instructies. Elke aanroep die moet BeginExecuteNonQuery worden gekoppeld aan een aanroep naar EndExecuteNonQuery, waarmee de bewerking wordt voltooid, moet doorgaans op een afzonderlijke thread worden uitgevoerd.
BeginExecuteReader Start de asynchrone uitvoering van de Transact-SQL instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand en haalt een of meer resultatensets van de server op. Elke aanroep die moet BeginExecuteReader worden gekoppeld aan een aanroep naar EndExecuteReader, waarmee de bewerking wordt voltooid, moet doorgaans op een afzonderlijke thread worden uitgevoerd.
BeginExecuteXmlReader Start de asynchrone uitvoering van de Transact-SQL-instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand. Elke aanroep die moet BeginExecuteXmlReader worden gekoppeld aan een aanroep naar EndExecuteXmlReader, waarmee de bewerking wordt voltooid, meestal op een afzonderlijke thread, en een XmlReader object wordt geretourneerd.
ExecuteReader Hiermee worden opdrachten uitgevoerd die rijen retourneren. Voor betere prestaties roept ExecuteReader opdrachten aan met behulp van de Transact-SQL sp_executesql systeem opgeslagen procedure. Daarom heeft ExecuteReader mogelijk niet het effect dat u wilt gebruiken om opdrachten zoals Transact-SQL SET-instructies uit te voeren.
ExecuteNonQuery Hiermee worden opdrachten uitgevoerd, zoals Transact-SQL INSERT-, DELETE-, UPDATE- en SET-instructies.
ExecuteScalar Haalt één waarde (bijvoorbeeld een statistische waarde) op uit een database.
ExecuteXmlReader Hiermee wordt het CommandText object naar het Connection object verzonden en gebouwd XmlReader .

U kunt de CommandText eigenschap opnieuw instellen en het SqlCommand object opnieuw gebruiken. U moet echter de SqlDataReader opdracht sluiten voordat u een nieuwe of vorige opdracht kunt uitvoeren.

Als een wordt SqlException gegenereerd door de methode waarmee een SqlCommandwordt uitgevoerd, blijft het SqlConnection open wanneer het ernstniveau 19 of minder is. Wanneer het ernstniveau 20 of hoger is, wordt de server gewoonlijk gesloten SqlConnection. De gebruiker kan de verbinding echter opnieuw openen en doorgaan.

Note

Naamloze parameters, ook wel ordinaal genoemd, worden niet ondersteund door de .NET Framework-Data Provider voor SQL Server.

Constructors

Name Description
SqlCommand()

Initialiseert een nieuw exemplaar van de SqlCommand klasse.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Initialiseert een nieuw exemplaar van de SqlCommand klasse met de opgegeven opdrachttekst, verbinding, transactie en versleutelingsinstelling.

SqlCommand(String, SqlConnection, SqlTransaction)

Initialiseert een nieuw exemplaar van de SqlCommand klasse met de tekst van de query, een SqlConnectionen de SqlTransaction.

SqlCommand(String, SqlConnection)

Initialiseert een nieuw exemplaar van de SqlCommand klasse met de tekst van de query en een SqlConnection.

SqlCommand(String)

Initialiseert een nieuw exemplaar van de SqlCommand klasse met de tekst van de query.

Eigenschappen

Name Description
CanRaiseEvents

Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren.

(Overgenomen van Component)
ColumnEncryptionSetting

Hiermee haalt u de instelling voor kolomversleuteling voor deze opdracht op of stelt u deze in.

CommandText

Hiermee haalt u de Transact-SQL-instructie, tabelnaam of opgeslagen procedure op die moet worden uitgevoerd op de gegevensbron.

CommandTimeout

Hiermee haalt u de wachttijd (in seconden) op of stelt u deze in voordat u de poging om een opdracht uit te voeren beëindigt en een fout genereert.

CommandType

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de CommandText eigenschap moet worden geïnterpreteerd.

Connection

Hiermee haalt u de SqlConnection gebruikt door dit exemplaar van de SqlCommand.

Container

Hiermee haalt u het IContainer bestand op dat de Component.

(Overgenomen van Component)
DbConnection

Hiermee haalt u het DbConnection gebruikte bestand op of stelt u deze DbCommandin.

(Overgenomen van DbCommand)
DbParameterCollection

Hiermee haalt u de verzameling DbParameter objecten op.

(Overgenomen van DbCommand)
DbTransaction

Hiermee haalt u het DbTransaction object op of stelt u het DbCommand object in.

(Overgenomen van DbCommand)
DesignMode

Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is.

(Overgenomen van Component)
DesignTimeVisible

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het opdrachtobject zichtbaar moet zijn in een besturingselement Windows Formulierontwerper.

Events

Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld.

(Overgenomen van Component)
Notification

Hiermee haalt u een waarde op die het SqlNotificationRequest object aangeeft dat aan deze opdracht is gebonden.

NotificationAutoEnlist

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de toepassing automatisch querymeldingen van een gemeenschappelijk SqlDependency object moet ontvangen.

Parameters

Haalt de SqlParameterCollection.

Site

Haalt of stelt de ISite van de Component.

(Overgenomen van Component)
Transaction

Hiermee haalt u de uitvoering op of stelt u deze SqlTransactionSqlCommand in.

UpdatedRowSource

Hiermee wordt opgehaald of ingesteld hoe de opdrachtresultaten worden toegepast op de DataRow wanneer deze worden gebruikt door de updatemethode van de DbDataAdapter.

Methoden

Name Description
BeginExecuteNonQuery()

Start de asynchrone uitvoering van de Transact-SQL-instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Start de asynchrone uitvoering van de Transact-SQL-instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand, op basis van een callback-procedure en statusinformatie.

BeginExecuteReader()

Start de asynchrone uitvoering van de Transact-SQL-instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand en haalt een of meer resultatensets op van de server.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Start de asynchrone uitvoering van de Transact-SQL instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand, met behulp van een van de CommandBehavior-waarden en het ophalen van een of meer resultatensets van de server, op basis van een callback-procedure en statusinformatie.

BeginExecuteReader(AsyncCallback, Object)

Start de asynchrone uitvoering van de Transact-SQL instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand en haalt een of meer resultatensets op van de server, op basis van een callback-procedure en statusinformatie.

BeginExecuteReader(CommandBehavior)

Start de asynchrone uitvoering van de Transact-SQL instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand met behulp van een van de CommandBehavior waarden.

BeginExecuteXmlReader()

Start de asynchrone uitvoering van de Transact-SQL instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand en retourneert resultaten als een XmlReader-object.

BeginExecuteXmlReader(AsyncCallback, Object)

Start de asynchrone uitvoering van de Transact-SQL-instructie of opgeslagen procedure die wordt beschreven door deze SqlCommand en retourneert resultaten als een XmlReader-object, met behulp van een callback-procedure.

Cancel()

Probeert de uitvoering van een SqlCommand.

Clone()

Hiermee maakt u een nieuw SqlCommand object dat een kopie van het huidige exemplaar is.

CreateDbParameter()

Hiermee maakt u een nieuw exemplaar van een DbParameter object.

(Overgenomen van DbCommand)
CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
CreateParameter()

Hiermee maakt u een nieuw exemplaar van een SqlParameter object.

Dispose()

Alle resources die worden gebruikt door de Component.

(Overgenomen van Component)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van Component)
EndExecuteNonQuery(IAsyncResult)

Voltooit de asynchrone uitvoering van een Transact-SQL-instructie.

EndExecuteReader(IAsyncResult)

Voltooit de asynchrone uitvoering van een Transact-SQL-instructie en retourneert de aangevraagde SqlDataReader.

EndExecuteXmlReader(IAsyncResult)

Voltooit de asynchrone uitvoering van een Transact-SQL-instructie en retourneert de aangevraagde gegevens als XML.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
ExecuteDbDataReader(CommandBehavior)

Voert de opdracht uit op basis van de verbinding en retourneert een DbDataReader opdracht die kan worden gebruikt voor toegang tot de resultaten.

(Overgenomen van DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Providers moeten deze methode implementeren om een niet-standaard implementatie te bieden voor ExecuteReader overbelastingen.

De standaardimplementatie roept de synchrone ExecuteReader() methode aan en retourneert een voltooide taak, waardoor de aanroepende thread wordt geblokkeerd. De standaardimplementatie retourneert een geannuleerde taak als een al geannuleerd annuleringstoken is doorgegeven. Uitzonderingen die door ExecuteReader worden gegenereerd, worden gecommuniceerd via de geretourneerde eigenschap Taakuitzondering.

Deze methode accepteert een annuleringstoken dat kan worden gebruikt om de bewerking vroeg te annuleren. Implementaties kunnen deze aanvraag negeren.

(Overgenomen van DbCommand)
ExecuteNonQuery()

Voert een Transact-SQL-instructie uit voor de verbinding en retourneert het aantal betrokken rijen.

ExecuteNonQueryAsync()

Een asynchrone versie van , waarmee de opdracht wordt uitgevoerd op basis van ExecuteNonQuery()het verbindingsobject, waarmee het aantal betrokken rijen wordt geretourneerd.

Roept aan ExecuteNonQueryAsync(CancellationToken) met CancellationToken.None.

(Overgenomen van DbCommand)
ExecuteNonQueryAsync(CancellationToken)

Een asynchrone versie van ExecuteNonQuery(), waarmee een Transact-SQL instructie wordt uitgevoerd voor de verbinding en het aantal betrokken rijen wordt geretourneerd. Het annuleringstoken kan worden gebruikt om aan te vragen dat de bewerking wordt afgelaten voordat de time-out van de opdracht is verstreken. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteReader()

Verzendt de CommandText naar de Connection en bouwt een SqlDataReader.

ExecuteReader(CommandBehavior)

Verzendt de CommandText naar de Connectionen bouwt een SqlDataReader met behulp van een van de CommandBehavior waarden.

ExecuteReaderAsync()

Een asynchrone versie van ExecuteReader(), die de CommandText naar de Connection en bouwt een SqlDataReader. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteReaderAsync(CancellationToken)

Een asynchrone versie van ExecuteReader(), die de CommandText naar de Connection en bouwt een SqlDataReader.

Het annuleringstoken kan worden gebruikt om aan te vragen dat de bewerking wordt afgelaten voordat de time-out van de opdracht is verstreken. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Een asynchrone versie van ExecuteReader(CommandBehavior), die de naar de CommandTextConnectionene verzendt en een SqlDataReader

Het annuleringstoken kan worden gebruikt om aan te vragen dat de bewerking wordt afgelaten voordat de time-out van de opdracht is verstreken. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteReaderAsync(CommandBehavior)

Een asynchrone versie van ExecuteReader(CommandBehavior), die de CommandText naar de Connection, verzendt en een SqlDataReader. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteScalar()

Hiermee wordt de query uitgevoerd en wordt de eerste kolom van de eerste rij in de resultatenset geretourneerd door de query. Extra kolommen of rijen worden genegeerd.

ExecuteScalarAsync()

Een asynchrone versie van ExecuteScalar(), waarmee de opdracht wordt uitgevoerd en de eerste kolom van de eerste rij in de eerste geretourneerde resultatenset wordt geretourneerd. Alle andere kolommen, rijen en resultatensets worden genegeerd.

Roept aan ExecuteScalarAsync(CancellationToken) met CancellationToken.None.

(Overgenomen van DbCommand)
ExecuteScalarAsync(CancellationToken)

Een asynchrone versie van ExecuteScalar(), waarmee de query asynchroon wordt uitgevoerd en de eerste kolom van de eerste rij in de resultatenset wordt geretourneerd door de query. Extra kolommen of rijen worden genegeerd.

Het annuleringstoken kan worden gebruikt om aan te vragen dat de bewerking wordt afgelaten voordat de time-out van de opdracht is verstreken. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteXmlReader()

Hiermee wordt het CommandText object naar het Connection object verzonden en gebouwd XmlReader .

ExecuteXmlReaderAsync()

Een asynchrone versie van ExecuteXmlReader(), die de CommandText naar het Connection object verzendt en een XmlReader object bouwt.

Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

ExecuteXmlReaderAsync(CancellationToken)

Een asynchrone versie van ExecuteXmlReader(), die de CommandText naar het Connection object verzendt en een XmlReader object bouwt.

Het annuleringstoken kan worden gebruikt om aan te vragen dat de bewerking wordt afgelaten voordat de time-out van de opdracht is verstreken. Uitzonderingen worden gerapporteerd via het geretourneerde taakobject.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetService(Type)

Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container.

(Overgenomen van Component)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
Prepare()

Hiermee maakt u een voorbereide versie van de opdracht op een exemplaar van SQL Server.

ResetCommandTimeout()

Hiermee stelt u de eigenschap opnieuw in op de CommandTimeout standaardwaarde.

ToString()

Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven.

(Overgenomen van Component)

gebeurtenis

Name Description
Disposed

Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode.

(Overgenomen van Component)
StatementCompleted

Treedt op wanneer de uitvoering van een Transact-SQL instructie is voltooid.

Expliciete interface-implementaties

Name Description
ICloneable.Clone()

Hiermee maakt u een nieuw SqlCommand object dat een kopie van het huidige exemplaar is.

IDbCommand.Connection

Hiermee haalt u de IDbConnection gebruikt door dit exemplaar van de IDbCommand.

(Overgenomen van DbCommand)
IDbCommand.CreateParameter()

Hiermee maakt u een nieuw exemplaar van een SqlParameter object.

IDbCommand.CreateParameter()

Hiermee maakt u een nieuw exemplaar van een IDbDataParameter object.

(Overgenomen van DbCommand)
IDbCommand.ExecuteReader()

Verzendt de CommandText naar de Connection, en bouwt een SqlDataReader.

IDbCommand.ExecuteReader()

Hiermee wordt de CommandText bewerking uitgevoerd op basis van de Connection en wordt een IDataReader.

(Overgenomen van DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Verzendt de CommandText naar de Connectionen bouwt een SqlDataReader met behulp van een van de CommandBehavior waarden.

IDbCommand.ExecuteReader(CommandBehavior)

Hiermee worden de CommandText waarden uitgevoerd op basis van de Connectionen wordt er een IDataReader gebouwd met behulp van een van de CommandBehavior waarden.

(Overgenomen van DbCommand)
IDbCommand.Parameters

Haalt de IDataParameterCollection.

(Overgenomen van DbCommand)
IDbCommand.Transaction

Hiermee haalt u het DbTransaction object op of stelt u het DbCommand object in.

(Overgenomen van DbCommand)

Van toepassing op

Zie ook