次の方法で共有


OleDbDataAdapter.UpdateCommand プロパティ

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

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

プロパティ値

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

解説

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

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

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

使用例

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

 
Public Shared Function CreateCustomerAdapter(conn As OleDbConnection) As OleDbDataAdapter 
  
  Dim da As OleDbDataAdapter = New OleDbDataAdapter()
  Dim cmd As OleDbCommand
  Dim parm As OleDbParameter

  ' Create the SelectCommand.

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

  cmd.Parameters.Add("@Country", OleDbType.VarChar, 15)
  cmd.Parameters.Add("@City", OleDbType.VarChar, 15)

  da.SelectCommand = cmd

  ' Create the UpdateCommand.

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

  cmd.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID")
  cmd.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName")

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

  da.UpdateCommand = cmd

  Return da
End Function

[C#] 
public static OleDbDataAdapter CreateCustomerAdapter(OleDbConnection conn)
{
  OleDbDataAdapter da = new OleDbDataAdapter();
  OleDbCommand cmd;
  OleDbParameter parm;

  // Create the SelectCommand.

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

  cmd.Parameters.Add("@Country", OleDbType.VarChar, 15);
  cmd.Parameters.Add("@City", OleDbType.VarChar, 15);

  da.SelectCommand = cmd;

  // Create the UpdateCommand.

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

  cmd.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID");
  cmd.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName");

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

  da.UpdateCommand = cmd;

  return da;
}

[C++] 
public:
static OleDbDataAdapter* CreateCustomerAdapter(OleDbConnection* conn)
{
  OleDbDataAdapter* da = new OleDbDataAdapter();
  OleDbCommand* cmd;
  OleDbParameter* parm;

  // Create the SelectCommand.

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

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

  da->SelectCommand = cmd;

  // Create the UpdateCommand.

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

  cmd->Parameters->Add(S"@CustomerID", OleDbType::Char, 5, S"CustomerID");
  cmd->Parameters->Add(S"@CompanyName", OleDbType::VarChar, 40, S"CompanyName");

  parm = cmd->Parameters->Add(S"@oldCustomerID", OleDbType::Char, 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 ファミリ

参照

OleDbDataAdapter クラス | OleDbDataAdapter メンバ | System.Data.OleDb 名前空間 | DeleteCommand | InsertCommand | SelectCommand