SqlDataSource.ConflictDetection SqlDataSource.ConflictDetection SqlDataSource.ConflictDetection SqlDataSource.ConflictDetection Property


基になるデータベース内の行のデータが操作中に変更される場合に、SqlDataSource コントロールで更新と削除を実行する方法を示す値を取得または設定します。Gets or sets the value indicating how the SqlDataSource control performs updates and deletes when data in a row in the underlying database changes during the time of the operation.

 property System::Web::UI::ConflictOptions ConflictDetection { System::Web::UI::ConflictOptions get(); void set(System::Web::UI::ConflictOptions value); };
public System.Web.UI.ConflictOptions ConflictDetection { get; set; }
member this.ConflictDetection : System.Web.UI.ConflictOptions with get, set
Public Property ConflictDetection As ConflictOptions


ConflictOptions 値のいずれか 1 つ。One of the ConflictOptions values. 既定値は、OverwriteChanges です。The default is the OverwriteChanges value.


プロパティConflictDetectionは、古い値と新しい値のパラメーターがUpdateメソッドに適用されるかどうかを決定します。The ConflictDetection property determines whether parameters for old and new values are applied to the Update method. たとえば、 SelectCommandプロパティによって指定されたコマンドが列DataTable ConflictDetection Name Numberを持つオブジェクトを返し、プロパティがOverwriteChanges値に設定されている場合、次に対してパラメーターが作成されます。メソッドのUpdateNumberNameFor example, if the command that is specified by the SelectCommand property returns a DataTable object with the columns Name and Number and the ConflictDetection property is set to the OverwriteChanges value, parameters are created for Name and Number for the Update method. original_Name Number Name original_NumberプロパティがCompareAllValues値に設定されている場合、、、、およびに対してパラメーターが作成されます。 ConflictDetectionIf the ConflictDetection property is set to the CompareAllValues value, parameters are created for Name, Number, original_Name, and original_Number. (元の値のパラメーターの正確な名前は、 OldValuesParameterFormatStringプロパティによって異なります)。次SqlDataSourceに、コントロールは、 Update UpdateCommandプロパティで指定されているメソッドに一致するパラメーターがあるかどうかを判断します。(The exact name of the parameters for the original values depends on the OldValuesParameterFormatString property.) The SqlDataSource control then determines if the Update method that is specified in the UpdateCommand property has parameters that match.

同時実行制御は、複数のクライアントが同じデータにアクセスして操作しているときに、ストア内のデータの読み取りと変更の方法を制御するためにデータストアで使用される手法です。Concurrency control is a technique that data stores use to control how data is read and changed in the store when multiple clients are accessing and manipulating the same data. たとえば、あるクライアントがデータを読み取り、ユーザーに提示し、別のクライアントが同じデータを読み取って別のユーザーに提示する場合などです。For example, one client reads data and presents it to a user, while another client reads the same data, and presents it to a different user. 両方のユーザーがデータを更新してデータストレージに送信した場合、両方のクライアントが同じデータに対して異なる値を更新する可能性があるため、予期しない結果が発生する可能性があります。If both users update the data and submit it to the data storage, some unexpected result might occur, because both clients might update different values for the same data. これは、競合と見なされます。This is considered a conflict. ConflictDetectionプロパティをCompareAllValues値に設定することによりUpdate 、メソッドは、古い値と新しい値を元のデータソースと比較して競合を検出し、必要に応じて処理することができます。By setting the ConflictDetection property to the CompareAllValues value, your Update method can then compare the old and new values to the original data source to detect conflicts and handle them, as necessary.

プロパティConflictDetectionは、 ConflictDetection コントロールSqlDataSourceに関連付けらSqlDataSourceViewれているオブジェクトのプロパティにデリゲートします。The ConflictDetection property delegates to the ConflictDetection property of the SqlDataSourceView object that is associated with the SqlDataSource control.