次の方法で共有


SqlDataAdapter.InsertCommand プロパティ

データ ソースに新しいレコードを挿入するための Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。

Public Shadows Property InsertCommand As SqlCommand
[C#]
public new SqlCommand InsertCommand {get; set;}
[C++]
public: __property SqlCommand* get_InsertCommand();public: __property void set_InsertCommand(SqlCommand*);
[JScript]
public hide function get InsertCommand() : SqlCommand;public function set InsertCommand(SqlCommand);

プロパティ値

Update 処理中に、 DataSet 内の新しい行に対応するレコードをデータベースに挿入するための SqlCommand

解説

Update 処理中に、このプロパティが設定されておらず、 DataSet に主キー情報が存在する場合、 SelectCommand プロパティを設定し、 SqlCommandBuilder を使用しているときは、 InsertCommand が自動的に生成されます。続いて、設定していない追加のコマンドが、 SqlCommandBuilder によって生成されます。この生成ロジックでは、 DataSet 内にキー列情報が存在している必要があります。詳細については、「 自動生成コマンド 」を参照してください。

作成済みの SqlCommandInsertCommand が割り当てられた場合、 SqlCommand のクローンは作成されません。 InsertCommand によって、作成済みの SqlCommand オブジェクトへの参照が維持されます。

メモ   このコマンドの実行によって行が返される場合、 SqlCommand オブジェクトの UpdatedRowSource プロパティの設定によっては、返された行が DataSet に追加されることがあります。

使用例

[Visual Basic, C#, C++] SqlDataAdapter を作成して SelectCommand プロパティと InsertCommand プロパティを設定する例を次に示します。ここでは、 SqlConnection オブジェクトが既に作成されていることを前提にしています。

 
Public Shared Function CreateCustomerAdapter(conn As SqlConnection) As SqlDataAdapter 
  
  Dim da As SqlDataAdapter = New SqlDataAdapter()
  Dim cmd As SqlCommand

  ' Create the SelectCommand.

  cmd = New SqlCommand("SELECT * FROM Customers " & _
                       "WHERE Country = @Country AND City = @City", conn)

  cmd.Parameters.Add("@Country", SqlDbType.NVarChar, 15)
  cmd.Parameters.Add("@City", SqlDbType.NVarChar, 15)

  da.SelectCommand = cmd

  ' Create the InsertCommand.

  cmd = New SqlCommand("INSERT INTO Customers (CustomerID, CompanyName) " & _
                       "VALUES (@CustomerID, @CompanyName)", conn)

  cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID")
  cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName")

  da.InsertCommand = cmd

  Return da
End Function

[C#] 
public static SqlDataAdapter CreateCustomerAdapter(SqlConnection conn)
{
  SqlDataAdapter da = new SqlDataAdapter();
  SqlCommand cmd;

  // Create the SelectCommand.

  cmd = new SqlCommand("SELECT * FROM Customers " +
                       "WHERE Country = @Country AND City = @City", conn);

  cmd.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
  cmd.Parameters.Add("@City", SqlDbType.NVarChar, 15);

  da.SelectCommand = cmd;

  // Create the InsertCommand.

  cmd = new SqlCommand("INSERT INTO Customers (CustomerID, CompanyName) " +
                       "VALUES (@CustomerID, @CompanyName)", conn);

  cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
  cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");

  da.InsertCommand = cmd;

  return da;
}

[C++] 
public:
static SqlDataAdapter* CreateCustomerAdapter(SqlConnection* conn)
{
  SqlDataAdapter* da = new SqlDataAdapter();
  SqlCommand* cmd;

  // Create the SelectCommand.

  cmd = new SqlCommand(S"SELECT * FROM Customers " 
                       S"WHERE Country = @Country AND City = @City", conn);

  cmd->Parameters->Add(S"@Country", SqlDbType::NVarChar, 15);
  cmd->Parameters->Add(S"@City", SqlDbType::NVarChar, 15);

  da->SelectCommand = cmd;

  // Create the InsertCommand.

  cmd = new SqlCommand(S"INSERT INTO Customers (CustomerID, CompanyName) " 
                       S"VALUES (@CustomerID, @CompanyName)", conn);

  cmd->Parameters->Add(S"@CustomerID", SqlDbType::NChar, 5, S"CustomerID");
  cmd->Parameters->Add(S"@CompanyName", SqlDbType::NVarChar, 40, S"CompanyName");

  da->InsertCommand = cmd;

  return da;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

SqlDataAdapter クラス | SqlDataAdapter メンバ | System.Data.SqlClient 名前空間 | DeleteCommand | SelectCommand | UpdateCommand