SqlCommand Klass

Definition

Representerar en Transact-SQL-instruktion eller lagrad procedur som ska köras mot en SQL Server databas. Det går inte att ärva den här klassen.

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
Arv
SqlCommand
Arv
Arv
Implementeringar

Exempel

I följande exempel skapas en SqlConnection, en SqlCommandoch en SqlDataReader. Exemplet läser igenom data och skriver dem till konsolen. Slutligen stänger SqlDataReader exemplet och sedan SqlConnection när det avslutar kodblocken Using .

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

Följande exempel visar hur du skapar och kör olika typer av SqlCommand-objekt.

Först måste du skapa exempeldatabasen genom att köra följande skript:

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

Kompilera och kör sedan följande:

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

Kommentarer

När en instans av SqlCommand skapas ställs läs-/skrivegenskaperna in på deras initiala värden. En lista över dessa värden finns i SqlCommand konstruktorn.

SqlCommand har följande metoder för att köra kommandon i en SQL Server databas:

Objekt Description
BeginExecuteNonQuery Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand, som vanligtvis kör kommandon som INSERT-, DELETE-, UPDATE- och SET-instruktioner. Varje anrop till BeginExecuteNonQuery måste paras ihop med ett anrop till EndExecuteNonQuery, som slutför åtgärden, vanligtvis i en separat tråd.
BeginExecuteReader Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand och hämtar en eller flera resultatuppsättningar från servern. Varje anrop till BeginExecuteReader måste paras ihop med ett anrop till EndExecuteReader, som slutför åtgärden, vanligtvis i en separat tråd.
BeginExecuteXmlReader Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand. Varje anrop till BeginExecuteXmlReader måste paras ihop med ett anrop till EndExecuteXmlReader, som slutför åtgärden, vanligtvis i en separat tråd, och returnerar ett XmlReader objekt.
ExecuteReader Kör kommandon som returnerar rader. För ökad prestanda anropar ExecuteReader kommandon med hjälp av den lagrade proceduren Transact-SQL sp_executesql system. Därför kanske ExecuteReader inte har den effekt som du vill ha om det används för att köra kommandon som Transact-SQL SET-instruktioner.
ExecuteNonQuery Kör kommandon som Transact-SQL INSERT-, DELETE-, UPDATE- och SET-instruktioner.
ExecuteScalar Hämtar ett enda värde (till exempel ett aggregeringsvärde) från en databas.
ExecuteXmlReader CommandText Skickar till Connection och skapar ett XmlReader objekt.

Du kan återställa CommandText egenskapen och återanvända objektet SqlCommand . Du måste dock stänga SqlDataReader innan du kan köra ett nytt eller tidigare kommando.

Om en SqlException genereras av metoden som kör en SqlCommandförblir den SqlConnection öppen när allvarlighetsgraden är 19 eller mindre. När allvarlighetsgraden är 20 eller högre stänger SqlConnectionservern vanligtvis . Användaren kan dock öppna anslutningen igen och fortsätta.

Note

Namnlösa parametrar, även kallade ordningstal, stöds inte av .NET Framework-Data Provider för SQL Server.

Konstruktorer

Name Description
SqlCommand()

Initierar en ny instans av SqlCommand klassen.

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

Initierar en ny instans av SqlCommand klassen med angiven kommandotext, anslutning, transaktion och krypteringsinställning.

SqlCommand(String, SqlConnection, SqlTransaction)

Initierar en ny instans av SqlCommand klassen med texten i frågan, en SqlConnection, och SqlTransaction.

SqlCommand(String, SqlConnection)

Initierar en ny instans av SqlCommand klassen med texten i frågan och en SqlConnection.

SqlCommand(String)

Initierar en ny instans av SqlCommand klassen med texten i frågan.

Egenskaper

Name Description
CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
ColumnEncryptionSetting

Hämtar eller anger kolumnkrypteringsinställningen för det här kommandot.

CommandText

Hämtar eller anger den Transact-SQL-instruktion, tabellnamn eller lagrad procedur som ska köras på datakällan.

CommandTimeout

Hämtar eller anger väntetiden (i sekunder) innan du avslutar försöket att köra ett kommando och genererar ett fel.

CommandType

Hämtar eller anger ett värde som anger hur egenskapen CommandText ska tolkas.

Connection

Hämtar eller anger den SqlConnection som används av den här instansen SqlCommandav .

Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
DbConnection

Hämtar eller anger den DbConnection som används av den här DbCommand.

(Ärvd från DbCommand)
DbParameterCollection

Hämtar samlingen med DbParameter objekt.

(Ärvd från DbCommand)
DbTransaction

Hämtar eller anger inom DbTransaction vilken det här DbCommand objektet körs.

(Ärvd från DbCommand)
DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
DesignTimeVisible

Hämtar eller anger ett värde som anger om kommandoobjektet ska visas i en Windows formdesignerkontroll.

Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
Notification

Hämtar eller anger ett värde som anger objektet som är bundet SqlNotificationRequest till det här kommandot.

NotificationAutoEnlist

Hämtar eller anger ett värde som anger om programmet automatiskt ska ta emot frågemeddelanden från ett gemensamt SqlDependency objekt.

Parameters

SqlParameterCollectionHämtar .

Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)
Transaction

Hämtar eller anger inom SqlTransaction vilken SqlCommand körs.

UpdatedRowSource

Hämtar eller anger hur kommandoresultat tillämpas på DataRow när de används av metoden Update i DbDataAdapter.

Metoder

Name Description
BeginExecuteNonQuery()

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand.

BeginExecuteNonQuery(AsyncCallback, Object)

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand, med hjälp av en återanropsprocedur och tillståndsinformation.

BeginExecuteReader()

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand och hämtar en eller flera resultatuppsättningar från servern.

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand, med hjälp av något av värdena CommandBehavior, och hämtar en eller flera resultatuppsättningar från servern, givet en återanropsprocedur och tillståndsinformation.

BeginExecuteReader(AsyncCallback, Object)

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand och hämtar en eller flera resultatuppsättningar från servern med hjälp av en återanropsprocedur och tillståndsinformation.

BeginExecuteReader(CommandBehavior)

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand med något av värdena CommandBehavior.

BeginExecuteXmlReader()

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand och returnerar resultat som ett XmlReader-objekt.

BeginExecuteXmlReader(AsyncCallback, Object)

Initierar den asynkrona körningen av Transact-SQL-instruktionen eller den lagrade proceduren som beskrivs av den här SqlCommand och returnerar resultat som ett XmlReader-objekt med hjälp av en återanropsprocedur.

Cancel()

Försöker avbryta körningen av en SqlCommand.

Clone()

Skapar ett nytt SqlCommand objekt som är en kopia av den aktuella instansen.

CreateDbParameter()

Skapar en ny instans av ett DbParameter objekt.

(Ärvd från DbCommand)
CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
CreateParameter()

Skapar en ny instans av ett SqlParameter objekt.

Dispose()

Utför programdefinierade uppgifter som är associerade med att frigöra, frigöra eller återställa ohanterade resurser.

(Ärvd från DbCommand)
Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av DbCommand och släpper eventuellt de hanterade resurserna.

(Ärvd från DbCommand)
Dispose(Boolean)

Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna.

(Ärvd från Component)
EndExecuteNonQuery(IAsyncResult)

Slutför asynkron körning av en Transact-SQL-instruktion.

EndExecuteReader(IAsyncResult)

Slutför asynkron körning av en Transact-SQL-instruktion och returnerar den begärda SqlDataReader.

EndExecuteXmlReader(IAsyncResult)

Slutför asynkron körning av en Transact-SQL-instruktion och returnerar begärda data som XML.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
ExecuteDbDataReader(CommandBehavior)

Kör kommandot mot anslutningen och returnerar en DbDataReader som kan användas för att komma åt resultaten.

(Ärvd från DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Leverantörer bör implementera den här metoden för att tillhandahålla en icke-standardimplementering för ExecuteReader överlagringar.

Standardimplementeringen anropar den synkrona ExecuteReader() metoden och returnerar en slutförd uppgift som blockerar den anropande tråden. Standardimplementeringen returnerar en avbruten aktivitet om den skickas en redan avbruten annulleringstoken. Undantag som genereras av ExecuteReader kommuniceras via den returnerade egenskapen Aktivitetsfel.

Den här metoden accepterar en annulleringstoken som kan användas för att begära att åtgärden avbryts tidigt. Implementeringar kan ignorera den här begäran.

(Ärvd från DbCommand)
ExecuteNonQuery()

Kör en Transact-SQL-instruktion mot anslutningen och returnerar antalet rader som påverkas.

ExecuteNonQueryAsync()

En asynkron version av ExecuteNonQuery(), som kör kommandot mot dess anslutningsobjekt och returnerar antalet rader som påverkas.

Anropar ExecuteNonQueryAsync(CancellationToken) med CancellationToken.None.

(Ärvd från DbCommand)
ExecuteNonQueryAsync(CancellationToken)

En asynkron version av ExecuteNonQuery(), som kör en Transact-SQL-instruktion mot anslutningen och returnerar antalet rader som påverkas. Annulleringstoken kan användas för att begära att åtgärden avbryts innan tidsgränsen för kommandot förflutit. Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteReader()

CommandText Skickar till Connection och skapar en SqlDataReader.

ExecuteReader(CommandBehavior)

CommandText Skickar till Connectionoch skapar ett SqlDataReader med något av CommandBehavior värdena.

ExecuteReaderAsync()

En asynkron version av ExecuteReader(), som skickar CommandText till Connection och skapar en SqlDataReader. Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteReaderAsync(CancellationToken)

En asynkron version av ExecuteReader(), som skickar CommandText till Connection och skapar en SqlDataReader.

Annulleringstoken kan användas för att begära att åtgärden avbryts innan tidsgränsen för kommandot förflutit. Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

En asynkron version av ExecuteReader(CommandBehavior), som skickar CommandText till Connectionoch skapar en SqlDataReader

Annulleringstoken kan användas för att begära att åtgärden avbryts innan tidsgränsen för kommandot förflutit. Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteReaderAsync(CommandBehavior)

En asynkron version av ExecuteReader(CommandBehavior), som skickar CommandText till Connectionoch skapar en SqlDataReader. Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteScalar()

Kör frågan och returnerar den första kolumnen i den första raden i resultatuppsättningen som returneras av frågan. Ytterligare kolumner eller rader ignoreras.

ExecuteScalarAsync()

En asynkron version av ExecuteScalar(), som kör kommandot och returnerar den första kolumnen på den första raden i den första returnerade resultatuppsättningen. Alla andra kolumner, rader och resultatuppsättningar ignoreras.

Anropar ExecuteScalarAsync(CancellationToken) med CancellationToken.None.

(Ärvd från DbCommand)
ExecuteScalarAsync(CancellationToken)

En asynkron version av ExecuteScalar(), som kör frågan asynkront och returnerar den första kolumnen på den första raden i resultatuppsättningen som returneras av frågan. Ytterligare kolumner eller rader ignoreras.

Annulleringstoken kan användas för att begära att åtgärden avbryts innan tidsgränsen för kommandot förflutit. Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteXmlReader()

CommandText Skickar till Connection och skapar ett XmlReader objekt.

ExecuteXmlReaderAsync()

En asynkron version av ExecuteXmlReader(), som skickar CommandText till Connection och skapar ett XmlReader objekt.

Undantag rapporteras via det returnerade aktivitetsobjektet.

ExecuteXmlReaderAsync(CancellationToken)

En asynkron version av ExecuteXmlReader(), som skickar CommandText till Connection och skapar ett XmlReader objekt.

Annulleringstoken kan användas för att begära att åtgärden avbryts innan tidsgränsen för kommandot förflutit. Undantag rapporteras via det returnerade aktivitetsobjektet.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
Prepare()

Skapar en förberedd version av kommandot på en instans av SQL Server.

ResetCommandTimeout()

Återställer egenskapen CommandTimeout till standardvärdet.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)
StatementCompleted

Inträffar när körningen av en Transact-SQL-instruktion slutförs.

Explicita gränssnittsimplementeringar

Name Description
ICloneable.Clone()

Skapar ett nytt SqlCommand objekt som är en kopia av den aktuella instansen.

IDbCommand.Connection

Hämtar eller anger den IDbConnection som används av den här instansen IDbCommandav .

(Ärvd från DbCommand)
IDbCommand.CreateParameter()

Skapar en ny instans av ett SqlParameter objekt.

IDbCommand.CreateParameter()

Skapar en ny instans av ett IDbDataParameter objekt.

(Ärvd från DbCommand)
IDbCommand.ExecuteReader()

CommandText Skickar till Connectionoch skapar en SqlDataReader.

IDbCommand.ExecuteReader()

CommandText Kör mot Connection och skapar en IDataReader.

(Ärvd från DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

CommandText Skickar till Connectionoch skapar ett SqlDataReader med något av CommandBehavior värdena.

IDbCommand.ExecuteReader(CommandBehavior)

CommandText Kör mot Connection, och skapar ett IDataReader med något av CommandBehavior värdena.

(Ärvd från DbCommand)
IDbCommand.Parameters

IDataParameterCollectionHämtar .

(Ärvd från DbCommand)
IDbCommand.Transaction

Hämtar eller anger inom DbTransaction vilken det här DbCommand objektet körs.

(Ärvd från DbCommand)

Gäller för

Se även