IDataAdapter.Update メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > IDataAdapter.Update メソッドの意味・解説 

IDataAdapter.Update メソッド

指定されDataSet 内の Table という名前の DataTable に含まれる挿入行、更新行、または削除に対してINSERTUPDATE、または DELETE ステートメント個別呼び出します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

例外例外
解説解説

アプリケーションUpdate メソッド呼び出すと、IDataAdapter は、RowState プロパティ調べDataSet設定されているインデックス順序基づいて要求されINSERTUPDATE、または DELETE ステートメント各行に対して反復的に実行します。たとえば、Update呼び出されたときに、DataTable 内の行の順序に応じてDELETE ステートメント実行しINSERT ステートメント実行してから、別の DELETE ステートメント実行することなどがあります

これらのステートメントバッチ処理として実行されるのではない点に注意してください各行個別更新されます。UPDATE前に INSERT実行するなど、ステートメント種類シーケンス制御する必要がある場合は、アプリケーションから GetChanges メソッド呼び出すことができます詳細については、「DataAdapter によるデータ ソース更新」を参照してください

INSERTUPDATE または DELETE ステートメント指定されていない場合Update メソッドでは、例外生成されます。ただし、.NET Framework データ プロバイダSelectCommand プロパティ設定した場合は、単一テーブル更新する SQL ステートメント自動的に生成する SqlCommandBuilder または OleDbCommandBuilder オブジェクト作成できます。これによって、追加SQL ステートメントが、CommandBuilder によって自動的に生成されます。この生成ロジックでは、DataSet 内にキー情報存在している必要があります詳細については、「コマンド自動生成」を参照してください

Update メソッドは、更新実行前の最初マップ示されテーブルら行取得します次に Update は、UpdatedRowSource プロパティの値を使用して行を更新します返され追加の行はすべて無視されます。

DataSetデータ戻されるたびに、OnRowUpdated イベント発生します。これによって、ユーザーは、DataSet調整済みの行、およびコマンドによって返され出力パラメータ検査できます。行が正常に更新されると、その行に対す変更受け入れられます。

Update使用するときは、次の順序で処理が実行されます。

  1. DataRow 内の値が、パラメータ値に移動されます。

  2. OnRowUpdating イベント発生します

  3. コマンド実行されます。

  4. コマンドFirstReturnedRecord設定されている場合は、最初に返され結果DataRow格納されます。

  5. 出力パラメータがある場合は、それが DataRow格納されます。

  6. OnRowUpdated イベント発生します

  7. AcceptChanges が呼び出されます。

IDataAdapter関連付けられた各コマンドには、通常パラメータ コレクション関連付けられています。パラメータは、.NET Framework データ プロバイダParameter クラスSourceColumn プロパティおよび SourceVersion プロパティ通じて現在の行に割り当てられます。SourceColumn は、IDataAdapter現在の行のパラメータ値を取得するために参照する DataTable 列を参照します。

テーブル マップ適用される前は、SourceColumn は、割り当てられていない列名を参照します。SourceColumn参照する列が存在しない場合実行されるアクション次の MissingMappingAction 値によって異なります

列挙

アクション

MissingMappingAction.Passthrough

マップ存在しない場合は、DataSet 内のソース列名およびテーブル名が使用されます。

MissingMappingAction.Ignore

SystemException が生成されます。マップ明示的に設定され場合入力パラメータに関してマップ存在しないときは、通常エラーなります

MissingMappingAction.Error

SystemException生成されます。

SourceColumn プロパティは、マップ通じて出力パラメータまたは入出力パラメータの値を DataSet に戻すときにも使用されます。存在しない列を参照している場合は、例外生成されます。

.NET Framework データ プロバイダParameter クラスSourceVersion プロパティは、OriginalCurrent、または Proposed のどのバージョンの列値を使用するかを指定します。この機能は、UPDATE ステートメントWHERE 句に元の値を含めてオプティミスティック同時実行違反チェックするためによく使用されます。

メモメモ

行の更新時にエラーが発生した場合は、例外スローされ、更新実行中断されます。エラー発生して例外生成せずに更新操作続けるには、Update呼び出す前に、ContinueUpdateOnError プロパティtrue設定します。DataAdapter の RowUpdated イベント内で、行単位エラー対応することもできますRowUpdated イベント内で例外生成せずに更新操作続けるには、RowUpdatedEventArgs の Status プロパティContinue設定します

使用例使用例

OleDbDataAdapter 派生クラス使用してデータ ソースUpdate実行する例を次に示します。この例では、OleDbDataAdapter および DataSet作成されていることを前提にしています。

Public Function CreateCommandAndUpdate( _
    ByVal connectionString As String,
 _
    ByVal queryString As String)
 As DataSet

    Dim dataSet As DataSet = New
 DataSet

    Using connection As New OleDbConnection(connectionString)
        connection.Open()
        Dim dataAdapter As New
 OleDbDataAdapter()

        dataAdapter.SelectCommand = New OleDbCommand( _
            queryString, connection)

        Dim commandBuilder As OleDbCommandBuilder
 = _
            New OleDbCommandBuilder(dataAdapter)

        dataAdapter.Fill(dataSet)

        ' Code to modify the data in the DataSet here. 

        ' Without the OleDbCommandBuilder this line would fail.
        dataAdapter.Update(dataSet)
    End Using
    CreateCommandAndUpdate = dataSet
End Function
static private DataSet CreateCommandAndUpdate(
    string connectionString,
    string queryString)
{
    DataSet dataSet = new DataSet();

    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        connection.Open();
        OleDbDataAdapter dataAdapter =
            new OleDbDataAdapter();
        dataAdapter.SelectCommand =
            new OleDbCommand(queryString, connection);
        OleDbCommandBuilder commandBuilder =
            new OleDbCommandBuilder(dataAdapter);

        dataAdapter.Fill(dataSet);

        // Code to modify data in the DataSet here.

        //Without the OleDbCommandBuilder this line would fail.
        dataAdapter.Update(dataSet);
    }
    return dataSet;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からIDataAdapter.Update メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からIDataAdapter.Update メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からIDataAdapter.Update メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

IDataAdapter.Update メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IDataAdapter.Update メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS