限制插入sql表中的记录

时间:2011-11-03 20:54:37

标签: c# asp.net sql sql-server

我要求建立一个asp.net注册表单,允许学生注册培训。到目前为止,我在sql server和3个表中构建了一个数据库:studenttraining& studenttraining

我的问题是,我怎样才能限制表单在特定培训结束后显示可用日期,或者如何通过检查用户可以注册的表来预防?

3 个答案:

答案 0 :(得分:2)

Select count(*) as SeatsFilled, t.TrainingKey, t.TrainingDate
From Training t
Inner Join StudentTraining st on t.TrainingKey = st.TrainingKey
Group By t.TrainingKey, t.TrainingDate
Having count(*) < t.TotalSeats

TotalSeats是Training表中的一列,用于指定培训提供的席位数。我认为StudentTraining是学生和培训之间的多对多桥牌表。

答案 1 :(得分:1)

您需要先确定“完整”的内容。然后,你可以做一个简单的事情 SELECT COUNT(id) FROM table确定是否已达到全额。

答案 2 :(得分:0)

我猜您可以在培训表中找到MaxTraining列,当您获得表单的数据时,您可以计算studenttraining中的培训条目,如果它等于MaxTraining,那么请不要带上该培训条目,因为这意味着它已经满了。