IDbDataAdapter.UpdateCommand プロパティ
データ ソース内のレコードを更新する SQL ステートメントを取得または設定します。
Property UpdateCommand As IDbCommand
[C#]
IDbCommand UpdateCommand {get; set;}
[C++]
__property IDbCommand* get_UpdateCommand();__property void set_UpdateCommand(IDbCommand*);
[JScript]
function get UpdateCommand() : IDbCommand;function set UpdateCommand(IDbCommand);
プロパティ値
データ セット内の変更された行に対応するデータ ソース内のレコードを更新するために、 Update 中に使用する IDbCommand 。
解説
Update 中、このプロパティが設定されておらず、主キー情報が DataSet 内に存在する場合は、.NET Framework データ プロバイダの SelectCommand プロパティを設定すると、 UpdateCommand が自動的に生成されます。次に、設定しなかった追加のコマンドが、CommandBuilder によって生成されます。この生成ロジックでは、 DataSet 内にキー列情報が存在している必要があります。詳細については、「 自動生成コマンド 」を参照してください。
既に作成されている IDbCommand に UpdateCommand を割り当てた場合、 IDbCommand のクローンは作成されません。 UpdateCommand は、既に作成されている IDbCommand オブジェクトへの参照を保持します。
メモ このコマンドの実行によって行が返された場合は、これらの行が 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 ファミリ, .NET Compact Framework - Windows CE .NET
参照
IDbDataAdapter インターフェイス | IDbDataAdapter メンバ | System.Data 名前空間