019 例外と例外処理(トランザクションとロールバック) 033 問題

問題

ユーザーがイベントや施設を予約するプログラムを作成してください。予約が重複している場合、トランザクションをロールバックし、エラーメッセージを表示してください。

ヒント

  1. トランザクションの開始: データベースのトランザクションを開始します。これにより、複数の SQL ステートメントがアトミックに処理されます。
  2. 予約の重複チェック: 予約が重複していないかデータベースで確認します。例えば、同じ施設やイベントに同じ日時での予約が存在しないかを確認します。
  3. 予約の登録: 予約が重複していなければ、新しい予約をデータベースに登録します。
  4. コミット: トランザクション内の操作がすべて成功した場合、トランザクションをコミットして変更を確定します。
  5. ロールバック: 予約が重複している場合、トランザクションをロールバックし、エラーメッセージを表示します。

上記の手順を参考に、トランザクションのコントロールと予約の重複チェックを行うプログラムを作成できます。データベースのスキーマや使用する言語によって具体的な実装が異なりますが、一般的な流れは上記の通りです。

解答例

「019 例外と例外処理」問題集リスト