次の方法で共有


SqlDataAdapter.UpdateCommand プロパティ

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

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

プロパティ値

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

解説

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

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

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

使用例

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

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

  ' 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 UpdateCommand.

  cmd = New SqlCommand("UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " & _
                       "WHERE CustomerID = @oldCustomerID", conn)

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

  parm = cmd.Parameters.Add("@oldCustomerID", SqlDbType.NChar, 5, "CustomerID")
  parm.SourceVersion = DataRowVersion.Original

  da.UpdateCommand = cmd

  Return da
End Function

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

  // 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 UpdateCommand.

  cmd = new SqlCommand("UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
                       "WHERE CustomerID = @oldCustomerID", conn);

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

  parm = cmd.Parameters.Add("@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
  parm.SourceVersion = DataRowVersion.Original;

  da.UpdateCommand = cmd;

  return da;
}

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

  // 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 UpdateCommand.

  cmd = new SqlCommand(S"UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " 
                       S"WHERE CustomerID = @oldCustomerID", conn);

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

  parm = cmd->Parameters->Add(S"@oldCustomerID", SqlDbType::NChar, 5, S"CustomerID");
  parm->SourceVersion = DataRowVersion::Original;

  da->UpdateCommand = 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 | InsertCommand | SelectCommand