レコードセット: レコード更新のしくみ (ODBC)

このトピックの内容は、MFC ODBC クラスに該当します。

レコードセットでは、データソースからレコードを選択するだけでなく、必要に応じて、選択したレコードを更新または削除したり、新しいレコードを追加したりできます。 レコードセットの更新可能かどうかは、接続されたデータソースが更新可能かどうか、レコードセットオブジェクトを作成するときに指定するオプション、作成される SQL によって決まります。

Note

オブジェクトの基になる SQL は、 CRecordset レコードセットの変更可能性に影響を与える可能性があります。 たとえば、SQL に join 句またはGROUP by句が含まれている場合、MFC では、このようにして、の使用を FALSE に設定します。

Note

このトピックの内容は、バルク行フェッチが実装されていない CRecordset の派生オブジェクトを対象にしています。 バルク行フェッチを使用している場合は、「レコード セット: レコードを一括フェッチする (ODBC)」を参照してください。

このトピックでは、次の内容について説明します。

レコードセット: AddNew、Edit、Delete Work (ODBC) で は、レコードセットの観点からこれらの関数のアクションを記述します。

レコードセット: 更新プログラム (ODBC) の詳細につい ては、トランザクションが更新に与える影響、レコードセットまたはスクロールを閉じることによって進行中の更新に影響を与える方法、および更新プログラムが他のユーザーの更新プログラムと対話する方法について説明します。

レコードセットの更新でのロール

次の表に、レコードを追加、編集、または削除するためのレコードセットを使用する場合のロールと、フレームワークの機能を示します。

レコードセットの更新: ユーザーとフレームワーク

自分 フレームワークの役割
データソースが更新可能である (または追加可能である) かどうかを判断します。 には、データソースの使用可能性をテストするための CDatabase メンバー関数が用意されています。
更新可能なレコードセット (任意の型) を開きます。
やなどの update 関数を呼び出すことによって、レコードセットが更新可能かどうかを判断し CRecordsetCanUpdateCanAppend ます。
レコードセットのメンバー関数を呼び出して、レコードを追加、編集、および削除します。 レコードセットオブジェクトとデータソースとの間でデータを交換するメカニズムを管理します。
必要に応じて、トランザクションを使用して更新プロセスを制御します。 CDatabaseには、トランザクションをサポートするメンバー関数が用意されています。

トランザクションの詳細については、「 Transaction (ODBC)」を参照してください。

エディットバッファー

レコードセットのフィールドデータメンバーは、まとめて、現在のレコードを1つ含むレコードを含む編集バッファーとして機能し — ます。 更新操作では、このバッファーを使用して現在のレコードを操作します。

  • レコードを追加すると、エディットバッファーを使用して新しいレコードが作成されます。 レコードの追加が完了すると、以前のレコードが再び最新の状態になります。

  • レコードを更新 (編集) する場合、エディットバッファーを使用して、レコードセットのフィールドデータメンバーを新しい値に設定します。 更新が完了すると、更新されたレコードは最新の状態のままになります。

AddNewまたはEditを呼び出すと、現在のレコードが保存されるので、必要に応じて後で復元できます。 Deleteを呼び出すと、現在のレコードは格納されず、削除済みとしてマークされ、別のレコードにスクロールする必要があります。

Note

編集バッファーは、レコードの削除時にロールを持ちません。 現在のレコードを削除すると、レコードは削除済みとしてマークされます。レコードセットは、別のレコードにスクロールするまで "レコードではありません" と表示されます。

ダイナセットとスナップショット

レコードにスクロールすると、レコードの内容が更新されます。 スナップショット はレコードの静的な表現であるため、 Requeryを呼び出さない限り、レコードの内容は更新されません。 ダイナセットのすべての機能を使用するには、適切なレベルの ODBC API サポートに準拠した ODBC ドライバーを操作する必要があります。 詳細については、「 ODBC および ダイナセット」を参照してください。

こちらもご覧ください

レコードセット (ODBC)
レコードセット: AddNew、Edit、Delete のしくみ (ODBC)