SqlCommand クラス

定義

SQL Server データベースに対して実行する Transact-SQL ステートメントまたはストアド プロシージャを表します。 このクラスは継承できません。

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
継承
SqlCommand
継承
継承
実装

次の例では、、、およびを作成し SqlConnection SqlCommand SqlDataReader ます。 この例では、データを読み取り、コンソールに書き込みます。 最後に、コードブロックを終了すると、が閉じられ SqlDataReader SqlConnection 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

次の例は、さまざまな種類の SqlCommand オブジェクトを作成および実行する方法を示しています。

まず、次のスクリプトを実行して、サンプルデータベースを作成する必要があります。

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  

次に、次のものをコンパイルして実行します。

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

注釈

のインスタンスが作成されると、 SqlCommand 読み取り/書き込みプロパティが初期値に設定されます。 これらの値の一覧については、「コンストラクター」を参照してください SqlCommand

SqlCommandには、SQL Server データベースでコマンドを実行するための次のメソッドが用意されています。

Item 説明
BeginExecuteNonQuery こので定義されている SQL transact-sql ステートメントまたはストアドプロシージャの非同期実行を開始します。この処理には、 SqlCommand 通常、INSERT、DELETE、UPDATE、SET ステートメントなどのコマンドを実行します。 への各呼び出しは、 BeginExecuteNonQuery EndExecuteNonQuery 通常は別のスレッドで操作を終了するの呼び出しとペアにする必要があります。
BeginExecuteReader このによって定義された transact-sql SQL ステートメントまたはストアドプロシージャの非同期実行を開始 SqlCommand し、サーバーから1つ以上の結果セットを取得します。 への各呼び出しは、 BeginExecuteReader EndExecuteReader 通常は別のスレッドで操作を終了するの呼び出しとペアにする必要があります。
BeginExecuteXmlReader この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始します。 への各呼び出し BeginExecuteXmlReader は、の呼び出しとペアにする必要があります。これにより、 EndExecuteXmlReader 通常は別のスレッドで操作が終了し、オブジェクトが返さ XmlReader れます。
ExecuteReader 行を返すコマンドを実行します。 パフォーマンスを向上させるために、では、 ExecuteReader SQL transact-sql のシステムストアドプロシージャを使用してコマンドを呼び出し sp_executesql ます。 そのため、を使用して、 ExecuteReader SQL transact-sql の SET ステートメントなどのコマンドを実行する場合に、必要な効果が得られないことがあります。
ExecuteNonQuery transact-sql SQL INSERT、DELETE、UPDATE、SET ステートメントなどのコマンドを実行します。
ExecuteScalar データベースから単一の値 (たとえば、集計値) を取得します。
ExecuteXmlReader CommandTextConnection に送信し、XmlReader オブジェクトを構築します。

プロパティをリセット CommandText し、オブジェクトを再利用することができ SqlCommand ます。 ただし、 SqlDataReader 新規または前のコマンドを実行する前に、を閉じる必要があります。

SqlException 実行しているメソッドによってが生成された場合 SqlCommandSqlConnection 重大度レベルが19以下の場合、は開いたままになります。 重大度レベルが20以上の場合、サーバーは通常、を閉じ SqlConnection ます。 ただし、ユーザーは接続を再び開き、続行できます。

注意

名前のない (序数とも呼ばれます) パラメーターは、SQL Server の .NET Framework Data Provider ではサポートされていません。

コンストラクター

SqlCommand()

SqlCommand クラスの新しいインスタンスを初期化します。

SqlCommand(String)

クエリ テキストを指定して、SqlCommand クラスの新しいインスタンスを初期化します。

SqlCommand(String, SqlConnection)

クエリ テキストと SqlConnection を指定して、SqlCommand クラスの新しいインスタンスを初期化します。

SqlCommand(String, SqlConnection, SqlTransaction)

クエリのテキスト、SqlConnection、および SqlTransaction を指定して、SqlCommand クラスの新しいインスタンスを初期化します。

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

指定されたコマンド テキスト、接続、トランザクション、暗号化の設定で、SqlCommand クラスの新しいインスタンスを初期化します。

プロパティ

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
ColumnEncryptionSetting

このコマンドの列の暗号化の設定を取得または設定します。

CommandText

データ ソースで実行する Transact-SQL ステートメント、テーブル名、またはストアド プロシージャを取得または設定します。

CommandTimeout

コマンド実行の試行を終了してエラーを生成するまでの待機時間 (秒単位) を取得または設定します。

CommandType

CommandText プロパティの解釈方法を示す値を取得または設定します。

Connection

この SqlCommand のインスタンスで使用する SqlConnection を取得または設定します。

Container

IContainer を含む Component を取得します。

(継承元 Component)
DbConnection

派生クラス内でオーバーライドされた場合、この DbCommand によって使用される DbConnection を取得または設定します。

(継承元 DbCommand)
DbParameterCollection

派生クラス内でオーバーライドされた場合、DbParameter オブジェクトのコレクションを取得します。

(継承元 DbCommand)
DbTransaction

派生クラス内でオーバーライドされた場合、この DbCommand オブジェクトが実行される DbTransaction を取得または設定します。

(継承元 DbCommand)
DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
DesignTimeVisible

コマンド オブジェクトを Windows フォーム デザイナー コントロールに表示する必要があるかどうかを示す値を取得または設定します。

Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
Notification

このコマンドにバインドされた SqlNotificationRequest オブジェクトを指定する値を取得または設定します。

NotificationAutoEnlist

共通 SqlDependency オブジェクトからのクエリ通知をアプリケーションで自動的に受信するかどうかを示す値を取得または設定します。

Parameters

SqlParameterCollection を取得します。

Site

ComponentISite を取得または設定します。

(継承元 Component)
Transaction

SqlTransaction が実行される SqlCommand を取得または設定します。

UpdatedRowSource

DbDataAdapterUpdate メソッドで使用するときに、コマンドの結果を DataRow に適用する方法を取得または設定します。

メソッド

BeginExecuteNonQuery()

この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始します。

BeginExecuteNonQuery(AsyncCallback, Object)

引数に指定されたコールバック プロシージャと状態情報に基づき、この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始します。

BeginExecuteReader()

この SqlCommand で定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始し、サーバーから 1 つ以上の結果を取得します。

BeginExecuteReader(AsyncCallback, Object)

この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始し、引数に指定されたコールバック プロシージャと状態情報に基づき、サーバーから 1 つまたは複数の結果を取得します。

BeginExecuteReader(AsyncCallback, Object, CommandBehavior)

引数に指定されたコールバック プロシージャと状態情報に基づき、CommandBehavior 値の 1 つを使用し、サーバーから 1 つまたは複数の結果セットを取得して、この SqlCommand によって記述された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始します。

BeginExecuteReader(CommandBehavior)

CommandBehavior のいずれかの値を使用し、この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始します。

BeginExecuteXmlReader()

この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始し、結果を XmlReader オブジェクトとして返します。

BeginExecuteXmlReader(AsyncCallback, Object)

この SqlCommand によって定義された Transact-SQL ステートメントまたはストアド プロシージャの非同期実行を開始し、コールバック プロシージャを使用して結果を XmlReader オブジェクトとして返します。

Cancel()

SqlCommand の実行の取り消しを試行します。

Clone()

現在のインスタンスのコピーである新しい SqlCommand オブジェクトを作成します。

CreateDbParameter()

派生クラス内でオーバーライドされた場合、DbParameter オブジェクトの新しいインスタンスを作成します。

(継承元 DbCommand)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
CreateParameter()

SqlParameter オブジェクトの新しいインスタンスを作成します。

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

(継承元 DbCommand)
Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

DbCommand によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 DbCommand)
Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 Component)
DisposeAsync()

コマンド オブジェクトを非同期に破棄します。

(継承元 DbCommand)
EndExecuteNonQuery(IAsyncResult)

Transact-SQL ステートメントの非同期実行を完了します。

EndExecuteReader(IAsyncResult)

Transact-SQL ステートメントの非同期実行を完了し、要求された SqlDataReader を返します。

EndExecuteXmlReader(IAsyncResult)

Transact-SQL ステートメントの非同期実行を完了し、要求されたデータを XML として返します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExecuteDbDataReader(CommandBehavior)

派生クラス内でオーバーライドされた場合、接続に対してコマンド テキストを実行します。

(継承元 DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

プロバイダーは、ExecuteReader のオーバーロードに既定以外の実装を提供するには、このメソッドを実装する必要があります。

既定の実装は ExecuteReader() 同期メソッドを呼び出し、完了したタスクを返します。呼び出し元のスレッドはブロックされます。 既定の実装は、既に取り消されたキャンセル トークンを渡した場合、取り消されたタスクを返します。 ExecuteReader によってスローされる例外は、返されたタスクの Exception プロパティを介して通信されます。

このメソッドは、早期に操作をキャンセルすることを要求するために使用できるキャンセル トークンを受け取ります。 実装は、この要求を無視する場合があります。

(継承元 DbCommand)
ExecuteNonQuery()

接続に対して Transact-SQL ステートメントを実行し、影響を受けた行数を返します。

ExecuteNonQueryAsync()

接続オブジェクトに対して SQL ステートメントを実行する ExecuteNonQuery() の非同期バージョン。

CancellationToken.None を使用して、ExecuteNonQueryAsync(CancellationToken) を呼び出します。

(継承元 DbCommand)
ExecuteNonQueryAsync(CancellationToken)

接続に対して Transact-SQL ステートメントを実行し、影響を受ける行の数を返す の非同期バージョン ExecuteNonQuery() 。 キャンセル トークンを使用すると、コマンド タイムアウトが経過する前に操作を破棄するように要求できます。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteNonQueryAsync(CancellationToken)

これは ExecuteNonQuery() の非同期バージョンです。 プロバイダーは、適切な実装でオーバーライドする必要があります。 オプションで、キャンセル トークンを無視できます。

既定の実装は ExecuteNonQuery() 同期メソッドを呼び出し、完了したタスクを返します。呼び出し元のスレッドはブロックされます。 既定の実装は、既に取り消されたキャンセル トークンを渡した場合、取り消されたタスクを返します。 ExecuteNonQuery() によってスローされる例外は、返されたタスクの Exception プロパティを介して通信されます。

返されたタスクが完了するまで DbCommand オブジェクトの他のメソッドとプロパティを呼び出さないでください。

(継承元 DbCommand)
ExecuteReader()

CommandTextConnection に送信し、SqlDataReader を構築します。

ExecuteReader(CommandBehavior)

CommandTextConnection に送信し、CommandBehavior 値のいずれかを使用して SqlDataReader を構築します。

ExecuteReaderAsync()

CommandTextConnection を送信し SqlDataReader を構築する、ExecuteReader() の非同期バージョン。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteReaderAsync()

ExecuteReader に対して CommandText を実行し、Connection を返す DbDataReader の非同期バージョン。

CancellationToken.None を使用して、ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) を呼び出します。

(継承元 DbCommand)
ExecuteReaderAsync(CancellationToken)

CommandTextConnection を送信し SqlDataReader を構築する、ExecuteReader() の非同期バージョン。

キャンセル トークンを使用すると、コマンド タイムアウトが経過する前に操作を破棄するように要求できます。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteReaderAsync(CancellationToken)

ExecuteReader に対して CommandText を実行し、Connection を返す DbDataReader の非同期バージョン。 このメソッドは操作を取り消す通知を配信します。

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) を呼び出します。

(継承元 DbCommand)
ExecuteReaderAsync(CommandBehavior)

CommandTextConnection を送信し SqlDataReader を構築する、ExecuteReader(CommandBehavior) の非同期バージョン。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteReaderAsync(CommandBehavior)

ExecuteReader に対して CommandText を実行し、Connection を返す DbDataReader の非同期バージョン。

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) を呼び出します。

(継承元 DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

CommandTextConnection を送信し、SqlDataReader を構築する、ExecuteReader(CommandBehavior) の非同期バージョン。

キャンセル トークンを使用すると、コマンド タイムアウトが経過する前に操作を破棄するように要求できます。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteReaderAsync(CommandBehavior, CancellationToken)

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) を呼び出します。

(継承元 DbCommand)
ExecuteScalar()

クエリを実行し、クエリによって返される結果セットの先頭行の最初の列を返します。 その他の列または行は無視されます。

ExecuteScalarAsync()

クエリを実行し、クエリで返された結果セットの最初の行の最初の列を返す ExecuteScalar() の非同期バージョン。 他のすべての列および行は無視されます。

CancellationToken.None を使用して、ExecuteScalarAsync(CancellationToken) を呼び出します。

(継承元 DbCommand)
ExecuteScalarAsync(CancellationToken)

クエリを非同期で実行し、クエリで返された結果セットの最初の行の最初の列を返す ExecuteScalar() の非同期バージョン。 その他の列または行は無視されます。

キャンセル トークンを使用すると、コマンド タイムアウトが経過する前に操作を破棄するように要求できます。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteScalarAsync(CancellationToken)

これは ExecuteScalar() の非同期バージョンです。 プロバイダーは、適切な実装でオーバーライドする必要があります。 オプションで、キャンセル トークンを無視できます。

既定の実装は ExecuteScalar() 同期メソッドを呼び出し、完了したタスクを返します。呼び出し元のスレッドはブロックされます。 既定の実装は、既に取り消されたキャンセル トークンを渡した場合、取り消されたタスクを返します。 ExecuteScalar によってスローされる例外は、返されたタスクの Exception プロパティを介して通信されます。

返されたタスクが完了するまで DbCommand オブジェクトの他のメソッドとプロパティを呼び出さないでください。

(継承元 DbCommand)
ExecuteXmlReader()

CommandTextConnection に送信し、XmlReader オブジェクトを構築します。

ExecuteXmlReaderAsync()

ConnectionCommandText を送信し、XmlReader オブジェクトを構築する ExecuteXmlReader() の非同期バージョン。

例外は、返されたタスク オブジェクトによって報告されます。

ExecuteXmlReaderAsync(CancellationToken)

ConnectionCommandText を送信し、XmlReader オブジェクトを構築する ExecuteXmlReader() の非同期バージョン。

キャンセル トークンを使用すると、コマンド タイムアウトが経過する前に操作を破棄するように要求できます。 例外は、返されたタスク オブジェクトによって報告されます。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
Prepare()

SQL Server のインスタンスに対する準備済みのコマンドを作成します。

PrepareAsync(CancellationToken)

準備済み (またはコンパイル済み) バージョンのコマンドをデータ ソース上に非同期に作成します。

(継承元 DbCommand)
ResetCommandTimeout()

CommandTimeout プロパティを既定値にリセットします。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)

イベント

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)
StatementCompleted

Transact-SQL ステートメントの実行が完了すると発生します。

明示的なインターフェイスの実装

ICloneable.Clone()

現在のインスタンスのコピーである新しい SqlCommand オブジェクトを作成します。

IDbCommand.Connection

この IDbCommand のインスタンスで使用する IDbConnection を取得または設定します。

(継承元 DbCommand)
IDbCommand.CreateParameter()

SqlParameter オブジェクトの新しいインスタンスを作成します。

IDbCommand.CreateParameter()

IDbDataParameter オブジェクトの新しいインスタンスを作成します。

(継承元 DbCommand)
IDbCommand.ExecuteReader()

CommandTextConnection に送信し、SqlDataReader を構築します。

IDbCommand.ExecuteReader()

Connection に対して CommandText を実行し、IDataReader をビルドします。

(継承元 DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

CommandTextConnection に送信し、CommandBehavior 値のいずれかを使用して SqlDataReader を構築します。

IDbCommand.ExecuteReader(CommandBehavior)

Connection に対して CommandText を実行し、CommandBehavior の値のいずれかを使用して IDataReader をビルドします。

(継承元 DbCommand)
IDbCommand.Parameters

IDataParameterCollection を取得します。

(継承元 DbCommand)
IDbCommand.Transaction

この DbCommand オブジェクトが実行される DbTransaction を取得または設定します。

(継承元 DbCommand)

適用対象

こちらもご覧ください