次の方法で共有


IDbDataAdapter.DeleteCommand プロパティ

データ セットからレコードを削除する SQL ステートメントを取得または設定します。

Property DeleteCommand As IDbCommand
[C#]
IDbCommand DeleteCommand {get; set;}
[C++]
__property IDbCommand* get_DeleteCommand();__property void set_DeleteCommand(IDbCommand*);
[JScript]
function get DeleteCommand() : IDbCommand;function set DeleteCommand(IDbCommand);

プロパティ値

Update 中に、データ セット内の削除された行に対応するデータ ソース内のレコードを削除するために使用する IDbCommand

解説

Update 中、このプロパティが設定されておらず、主キー情報が DataSet 内に存在する場合は、.NET Framework データ プロバイダの SelectCommand プロパティを設定すると、 DeleteCommand が自動的に生成されます。次に、設定しなかった追加のコマンドが、CommandBuilder によって生成されます。この生成ロジックでは、 DataSet 内にキー列情報が存在している必要があります。詳細については、「 自動生成コマンド 」を参照してください。

既に作成されている IDbCommandDeleteCommand を割り当てた場合、 IDbCommand のクローンは作成されません。 DeleteCommand は、既に作成されている IDbCommand オブジェクトへの参照を保持します。

使用例

[Visual Basic, C#, C++] 継承した OleDbDataAdapter クラスのインスタンスを作成し、 SelectCommand プロパティと DeleteCommand プロパティを設定する例を次に示します。ここでは、 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 DeleteCommand.

  cmd = New OleDbCommand("DELETE FROM Customers WHERE CustomerID = @CustomerID", conn)

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

  da.DeleteCommand = 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 DeleteCommand.

  cmd = new OleDbCommand("DELETE FROM Customers WHERE CustomerID = @CustomerID", conn);

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

  da.DeleteCommand = 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 DeleteCommand.

  cmd = new OleDbCommand(S"DELETE FROM Customers WHERE CustomerID = @CustomerID", conn);

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

  da->DeleteCommand = 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

参照

IDbDataAdapter インターフェイス | IDbDataAdapter メンバ | System.Data 名前空間