CRecordset::Update
新しいデータ、または編集されたデータをデータ ソースに保存することにより、AddNew または Edit 操作を完了します。
virtual BOOL Update( );
戻り値
1 つのレコードが更新できた場合は 0 以外を返します。どの列も更新されていない場合は 0 を返します。 どのレコードも更新されない場合、または 2 つ以上のレコードが更新された場合は、例外がスローされます。 例外はデータ ソースでこれ以外の障害が発生した場合にもスローされます。
解説
このメンバー関数は、AddNew または Edit 関数や Edit 関数メンバー関数を呼び出した後に呼び出します。 この関数を呼び出すことによって、AddNew または Edit の操作を完了します。
注意
バルク行フェッチを実装した場合、Update は呼び出せません。 呼び出すと、アサートします。 CRecordset クラスはデータのバルク行を更新する機構を持っていませんが、ODBC API 関数の SQLSetPos を使用することによって独自の関数を作成できます。 バルク行フェッチの詳細については、資料を参照してくださいレコード セット:一括 (ODBC) 内のレコードをフェッチ。
AddNew 関数および Edit 関数はどちらも、データ ソースに保存するための追加または更新されたデータを置く編集バッファーを準備します。 Update はデータを保存します。 変更されたことが示されているフィールド、または変更されたことが検出されたフィールドだけを更新します。
データ ソースでトランザクションがサポートされている場合は、トランザクションの一部として、Update 関数 (および対応する AddNew 関数や Edit 関数) を呼び出すことができます。 トランザクションの詳細については、「トランザクション (ODBC)」を参照してください。
ヒント
最初に AddNew または Edit を呼び出さずに Update を呼び出すと、Update は CDBException をスローします。 AddNew 関数や Edit 関数を呼び出したときは、現在のレコードセットを移動する関数を呼び出したり、レコードセットやデータ ソース接続を閉じる前に、Update 関数を呼び出す必要があります。 呼び出さないと、変更は警告なしで失われます。
処理の詳細については更新 の資料を参照して、 レコード セット:レコード セット (ODBC) のレコードを更新する方法。
例外
このメソッドは、CDBException* 型の例外をスローできます。
使用例
参照してくださいトランザクション:レコード セット (ODBC) でのトランザクションの実行。
必要条件
**ヘッダー:**afxdb.h