例外 | 解説 |
---|---|
System.ArgumentNullException | 指定した activity が null 参照(Visual Basic .NET では Nothing) の場合にスローされます。DataKey を指定し、データストアを更新するプロパティを格納するためには、 Activity が null 以外である必要があります。 |
System.NotSupportedException | activity の具象型が Appointment 以外の場合にスローされます。現時点でデータソースを更新できるのは Appointment オブジェクトのみです。 |
System.ComponentModel.WarningException | UpdateActivity を呼び出す前に、WebScheduleInfo プロパティが適切に初期化されていなかった場合にスローされます。UpdateActivity で指定した activity をデータストアに変更するためには、WebScheduleDataProviderBaseがすでに activity と同じ WebScheduleInfo で初期化されている必要があります。 |
WebScheduleは、エンドユーザーがユーザーインターフェイスで Activity を直接編集したとき、その Activity の更新を自動的に処理します。アプリケーションでアクティビティの他のコピーに対して行った変更を永続化するには、 UpdateActivity を呼び出します。通常、そのような変更は永続的ではありません。
UpdateActivityメソッドは、アプリケーションが WebSchedule データストアに対して実行する管理タスク (たとえば、特定の日付に設定されているすべての予定の開始時刻を1時間前に移動したり、予定を削除またはアーカイブするための指標として1か月以上前の Importance が Low の予定すべてにマークを付けるなど) もサポートします。
指定した activity の DataKey プロパティは、Activityデータテーブルの既存の行の編集に使用されます。DataKey を主キーとして持つ行が存在しない場合、 UpdateActivity メソッドは失敗します。
指定した activity が存在しないことがわかっても、Activityテーブルの主キー制約に従う必要があるため、データプロバイダーは activity を新しい行であるかのように追加することはできません。特に、主キーは多くのリレーショナルデータベース管理システムで直接設定することがサポートされていない(または危険を伴う可能性がある)AutoNumber列である場合があります。
UpdateActivity に渡された Activity インスタンスのそれ以外のプロパティはどれもキーとしては使用されません。その代わりに、(データバインディングが定義されている) 他のプロパティはすべて、Activity テーブルの既存の行の対応する列を更新するための値のソースとして使用されます。