CRecordset::Update
データ ソースの新規または編集されたデータを保存して AddNew または [編集] 操作を完了します。
virtual BOOL Update( );
戻り値
1 レコードが正常に更新された場合、; それ以外の列を変更しない場合は 0。レコードが更新されない場合、または複数のレコードが更新されると、例外がスローされます。例外は、データ ソース内の他のエラーごとにスローされます。
解説
AddNew または [編集] のメンバー関数にこのメンバー関数を呼び出し後に呼び出されます。この呼び出しは AddNew または [編集] 操作を完了する必要があります。
[!メモ]
バルク行フェッチを実装している 更新を呼び出すことはできません。これはアサーション エラーが発生します。クラス CRecordset が複数行のデータを更新する機構はありませんが、ODBC API 関数 SQLSetPosを使用して独自の関数を記述できます。バルク行フェッチに関する詳細については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。
AddNew と [編集] は、追加または編集されたデータがデータ ソースに保存するために配置されるエディット バッファーを準備します。更新 はデータを保存します。変更済みとしてマークされているか、または検出されたフィールドのみが更新されます。
データ ソースがトランザクションをサポートしている場合、トランザクションの 更新 の呼び出し (および [編集] の対応する AddNew または呼び出し) パーツを作成できます。トランザクションに関する詳細については、" " トランザクション (ODBC)を参照してください。
注意 |
---|
最初に AddNew か [編集]を呼び出さないで 更新 を呼び出すと、更新 は CDBExceptionをスローします。AddNew か [編集]を呼び出すと、[移動] 操作を呼び出すか、レコードセットとデータ ソースの接続を閉じる前に 更新 を呼び出す必要があります。それ以外の変更は通知なしで失われます。 |
更新 エラーの処理の詳細については、" " レコードセット: レコードセットが更新のしくみ (ODBC) をを参照してください。
例外
このメソッドは、型 **CDBException***の例外をスローできます。
使用例
トランザクション: レコードセット (ODBC) でトランザクションを実行します。" "を参照してください。
必要条件
Header: afxdb.h