次の方法で共有


CRecordset::Update

データ ソースの新規または編集されたデータを保存して AddNew または [編集] 操作を完了します。

virtual BOOL Update( );

戻り値

1 レコードが正常に更新された場合、; それ以外の列を変更しない場合は 0。レコードが更新されない場合、または複数のレコードが更新されると、例外がスローされます。例外は、データ ソース内の他のエラーごとにスローされます。

解説

AddNew または [編集] のメンバー関数にこのメンバー関数を呼び出し後に呼び出されます。この呼び出しは AddNew または [編集] 操作を完了する必要があります。

[!メモ]

バルク行フェッチを実装している 更新を呼び出すことはできません。これはアサーション エラーが発生します。クラス CRecordset が複数行のデータを更新する機構はありませんが、ODBC API 関数 SQLSetPosを使用して独自の関数を記述できます。バルク行フェッチに関する詳細については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。

AddNew[編集] は、追加または編集されたデータがデータ ソースに保存するために配置されるエディット バッファーを準備します。更新 はデータを保存します。変更済みとしてマークされているか、または検出されたフィールドのみが更新されます。

データ ソースがトランザクションをサポートしている場合、トランザクションの 更新 の呼び出し (および [編集] の対応する AddNew または呼び出し) パーツを作成できます。トランザクションに関する詳細については、" " トランザクション (ODBC)を参照してください。

Caution メモ注意

最初に AddNew[編集]を呼び出さないで 更新 を呼び出すと、更新CDBExceptionをスローします。AddNew[編集]を呼び出すと、[移動] 操作を呼び出すか、レコードセットとデータ ソースの接続を閉じる前に 更新 を呼び出す必要があります。それ以外の変更は通知なしで失われます。

更新 エラーの処理の詳細については、" " レコードセット: レコードセットが更新のしくみ (ODBC) をを参照してください。

例外

このメソッドは、型 **CDBException***の例外をスローできます。

使用例

トランザクション: レコードセット (ODBC) でトランザクションを実行します。" "を参照してください。

必要条件

Header: afxdb.h

参照

関連項目

CRecordset クラス

階層図

CRecordset::Edit

CRecordset::AddNew

CRecordset::SetFieldDirty

CDBException クラス