添付のスクリーンショットを確認してください。赤い線の上の画像は、ユーザーがサインアップしたトレーニング クラスの概要を示しています。
その画像で特に興味深いのは、 と呼ばれる列ヘッダーAvailable
です。
ユーザーがトレーニングにサインアップするたびに、その数は 1 ずつ減少します。
例えば、現在の空席は画像の通り29席。ユーザーがこのクラスにサインアップすると、数が 1 減って 28 になります。
これはこれまでのところうまくいきます。
ユーザーが何らかの理由でサインアップしたクラスを受講できないと判断した場合、ユーザーはCancel Training
ボタンをクリックして、下の画像に示すようにリストからそのクラスを削除する必要があります。読み取り行。
これが発生すると、座席が解放されます。
これもうまくいきます。
私たちがやりたいことは、赤い線の上の画像のリストにその座席を追加することです.
したがって、Available
座席が 28 で、ユーザーが座席をキャンセルした場合、その座席を元に戻したいので、1 から 29 に増加します。
何が間違っているのかわかりませんが、以下のコードは、28 席を示すレコードではなく、すべての席を表示します。
Insert into tblTrainings (availableSeats)
select (t.availableseats+1)availableseats
from tblTrainings t Inner Join tblCourses c on t.courseId = c.courseId
Inner Join tblLocations l on t.locationId = l.LocationId
Inner Join tblTrainingDates d on c.dateid=d.dateid
Inner Join tblCourseInstructor ic on c.courseId = ic.CourseId
Inner Join tblInstructors i on ic.instructorId = i.instructorId
where t.locationid=2;
DELETE FROM tblTrainings WHERE trainingId = @trainingid and username = @uchide"
デザインについて少しだけ。
次のルックアップ テーブルがあります。
tblLocations、tblCourses、tblInstructors、tblCourseInstructor、tblTrainingDates