我努力为这个线程想出合适的标题。
原谅我不是很清楚。
我们有一个名为 Locations 的表,具有以下属性:
locationID -- 每个位置每个班级有 30 个容量座位 Capacity_Seating -- 这是每个位置每个班级允许的总座位数。
当用户登录时,s/h 会显示一个可供选择的位置下拉列表。无论受训者选择哪个位置,都是她/他将要接受培训的位置。
每个位置的容量座位是 30。
一旦用户登录,她/他就会被带到培训页面。培训显示有关课程的一般信息,包括培训的日期和时间、持续时间、可容纳人数,最重要的是,可用座位或剩余座位。
如果仍有空位,用户可以单击注册以注册该特定培训。
一旦该用户注册,可用座位就会改变。
例如,如果在该学员注册之前有 15 个座位,那么在注册之后,可用座位现在为 14 个座位。
如果用户在最初注册后选择取消他或她的座位,只要不在培训日期的 24 小时内,学员就可以这样做。
这是我的问题。
1,我是否需要添加另一个名为Available_Seats
位置表或培训表的字段以显示剩余的座位数,或者可以使用如下查询来完成:
选择(Capacity_Seating
- 每次学员注册时)??不知道如何处理。
2,我们想用寄存器来减去一个数字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 上。