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