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 内にキー列情報が存在している必要があります。詳細については、「 自動生成コマンド 」を参照してください。
作成済みの OleDbCommand に UpdateCommand が割り当てられた場合、 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