このスレッドにふさわしいタイトルを考え出すのに苦労しました。
明確ではないことを許してください。
次の属性を持つ Locations というテーブルがあります。
locationID -- 各場所には、クラスごとに 30 席があります。 Capacity_Seating -- これは、場所ごとのクラスごとに許可されている座席の合計です。
ユーザーがログインすると、場所を選択できるドロップダウンリストが s/h に表示されます。研修生がどちらの場所を選択しても、それが研修を受ける場所になります。
各会場の定員は30名です。
ユーザーがログインするとすぐに、Trainring ページに移動します。トレーニングには、トレーニングの日時、期間、収容人数、最も重要な利用可能な座席または残りの座席など、クラスに関する一般的な情報が表示されます。
座席がまだ利用可能な場合、ユーザーは [登録] をクリックしてその特定のトレーニングに登録できます。
このユーザーが登録されると、空席が変わります。
たとえば、この研修生が登録する前に 15 席だった場合、登録後に利用可能な席数は 14 席になります。
ユーザーが最初の登録後にシートをキャンセルすることを選択した場合、トレーニング日から 24 時間以内に限り、トレーニング生はキャンセルすることができます。
これが私の質問です。
Available_Seats
1、残りの座席数を表示するために、ロケーション テーブルまたはトレーニング テーブルに呼び出される別のフィールドを追加する必要がありますか、または次のようなクエリを使用してこれを行うことができますか?
( Capacity_Seating
- 研修生が登録するたびに) を選択しますか?? これを処理する方法がわからない。
2, register を使用して から数値を減算し、数値Capacity_Seating
をCancel
に戻しCapacity_Seating
ます。
あなたの考えと援助は大歓迎です。
<ItemTemplate>
<asp:LinkButton ID="Btncalc" runat="server" Text="Register" tooltip="Click to calculate" onclick="calc" />
</ItemTemplate>
</asp:TemplateField>
</ItemTemplate>
Sub calc(ByVal sender As Object, ByVal e As System.EventArgs) Dim objConnection As SqlConnection
Dim username = Session.Item("Username").ToString
' Dim strSQL As String
objConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString)
objConnection.Open()
strSQL = "update TrainingTable set employeeId='" & username
strSQL += "', AvailableSeats= AvailableSeats-1"
strSQL += " where location = '" & ddlLocation.SelectedValue.ToString & "'"
'Response.Write(strSQL)
'Response.End()
Dim cmdcommand As New SqlCommand(strSQL, objConnection)
cmdcommand.ExecuteNonQuery()
cmdcommand = Nothing
objConnection.Close()
objConnection = Nothing
サブ終了
ちなみに、マークアップはgridview上にあります。